Я хочу что-то сделать, когда соединение Wi-Fi установлено. У меня есть BroadcastReceiver, который работает префектно, получая NETWORK_STATE_CHANGED_ACTION и SCAN_RESULTS_AVAILABLE_ACTION, но не SUPPLICANT_CONNECTION_CHANGE_ACTION. Это сложнее проверить: для этого я выключаю/выключаю маршрутизатор.изменение связи просителя не срабатывает
protected void onCreate(Bundle savedInstanceState) {
receiverWifi = new WifiReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION);
intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
intentFilter.addAction(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION);
registerReceiver(receiverWifi, intentFilter);
//...
}
class WifiReceiver extends BroadcastReceiver {
public void onReceive(Context c, Intent intent) {
final String action = intent.getAction();
Log.d("mhp","*BroadcastReceiver: " + action")}
И Manifiest.xml
<application
a..
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.net.wifi.SCAN_RESULTS" />
<action android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
<action android:name="android.net.wifi.STATE_CHANGE" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
И AndroidManifest.xml:
<application
a..
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.net.wifi.SCAN_RESULTS" />
<action android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
<action android:name="android.net.wifi.STATE_CHANGE" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Спасибо @ unrealsoul007. Он не решает тайну просителя, но он удовлетворяет мои потребности! – Sorrentum
@ Sorrentum Рад помочь !! Счастливое кодирование .. !! :) – unrealsoul007
, хотя это может удовлетворить его потребности, из моих тестов мы никогда не получаем ничего, кроме ОТКЛЮЧЕННЫХ, АССОЦИАЦИЙ, СВЯЗАННЫХ И ЗАВЕРШЕННЫХ. Любая попытка отладки сбоев соединения, таких как переходы в/из AUTHENTICATING, GROUP_HANDSHAKE, FOUR_WAY_HANDSHAKE, никогда не будет возникать на Nexus 5 ... WifiInfo.getDetailedStateOf (supplicantState) будет OBTAINING_IPADDR 24/7 на том же телефоне, хотя есть IP и даже интернет ... – leRobot