2014-09-29 62 views
3

我試圖開始掃描可用Wifi,並在掃描完成後立即觸發廣播接收器。Wifi掃描結果不是廣播

我已經添加權限,並開始在我的清單聲明接收器:

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 

... 

<receiver android:name=".WifiReceiver"> 
    <intent-filter> 
     <action android:name="android.net.wifi.SCAN_RESULTS" /> 
    </intent-filter> 
</receiver> 

在我MainActivityonCreate我啓動掃描:

// Get wifi points 
WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
wifiManager.startScan(); 
Log.i("WIFI_SCAN", "STARTED SCAN"); 

最後我WifiReceiver類:

class WifiReceiver extends BroadcastReceiver { 

    public void onReceive(Context context, Intent intent) { 
     Log.i("WIFI_SCAN", "RESULTS RECEIVED"); 
    } 

} 

我沒有收到錯誤和我的第一個LogSTARTED SCAN)得到顯示,但我永遠不會在日誌中獲得我的RESULTS RECEIVED

我想不通爲什麼我的廣播接收器接收不到任何東西

回答

2

BroadcastReceiver必須是公共的。

class WifiReceiver extends BroadcastReceiver { 

應該

public class WifiReceiver extends BroadcastReceiver {