2015-09-20 4 views
-4

Я пытался создать приложение, которое будет распознавать, когда мой телефон подключен к нужной сети и когда он есть, затем он добавит число в переменную и выполнит такие задачи, как запуск новое приложение. Я осмотрелся и не нашел хорошего ответа.
Кроме того, я проверил документы Android, и я не смог понять, как это сделать.
Я знаю, что с помощью метода isConnected я могу узнать, подключен ли я к сети Wi-Fi, но он не говорит мне, нужен ли он мне.
В этом направлении я прочитал, что можно достичь этого, найдя адрес mac или bssid сети. , P.s кодирование на android используя AIDEНайти, если подключено к определенному WiFi

Заранее спасибо!

ответ

0

Что вы ищете, это приемник широковещания. в основном, вы создаете настраиваемый широковещательный приемник, который будет получать сообщения о некоторых действиях. Вы определяете те действия в намерениях фильтра:

IntentFilter intentFilter = new IntentFilter(); 
intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); 

затем зарегистрировать свой приемник на этом умысел фильтр:

registerReceiver(wifiWatcher, intentFilter); 

и приемник будет осуществлять OnReceive метод:

public void onReceive(Context context, Intent intent) 

ConnectivityManager conMngr = (ConnectivityManager)this.getSystemService(this.CONNECTIVITY_SERVICE); 
android.net.NetworkInfo wifi = conMngr.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
    String ssid = null; 
    NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 
    if (networkInfo.isConnected()) { 
    final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); 
    final WifiInfo connectionInfo = wifiManager.getConnectionInfo(); 
    if (connectionInfo != null && !StringUtil.isBlank(connectionInfo.getSSID())) { 
     ssid = connectionInfo.getSSID(); 
    } 
    } 

Ну, делать то, что вы хотите, если правильный SSID

if (ssid!=null && ssid.equals(mySSID){ 
//DO 
} 

, чтобы сделать это, вам нужно добавить эти разрешения в манифесте:

<user-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <user-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
+0

Я попытаюсь как и посмотреть, какие из них лучше, спасибо. –

+0

Вы можете пометить свой любимый FAQ, нажав «стрелку вверх» или отметить правильный ответ, нажав «галочку». – user2413972

+1

Я попытался, но он сказал мне, что мне нужно как минимум 15 повторных очков, чтобы это сделать. –

Смежные вопросы