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");