Wi-Fi를 켜 놓은 상태에서
Wi-Fi networks에 있는 특정 ap에 대해서
1) Connect to network(connect)
2) forget network(disconnect)
를 반복할때마다 Broadcast intent를 받을 수 있게 하려고 하는데요.
아무리 manifest를 수정하고 해도 변함이 없네요.
초기 앱 실행할때 한번만 받고 그 뒤로는 반응이 없습니다.
한마디로 ConnectivityChange for WIFI 정보를 이벤트로 받고 싶은 겁니다.
부탁 드리겠습니다.
<manifest>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.tacademy.listview"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".WifiListViewActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".WifiReceiver">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED"/>
<action android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
</intent-filter>
</receiver>
</application>
<uses-sdk android:minSdkVersion="8" />
</manifest>
<code>
/* Wifi Broadcast*/
receiverWifi = new WifiReceiver();
registerReceiver(receiverWifi, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
registerReceiver(receiverWifi, new IntentFilter(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION));
registerReceiver(receiverWifi, new IntentFilter(WifiManager.NETWORK_STATE_CHANGED_ACTION));
if (!mainWifi.isWifiEnabled()) {
mainText.setText("isWifiEnabled failed\n");
return;
}
mainWifi.startScan();
mainText.setText("\nStarting Scan...\n");