registerReceiver为SCAN_RESULTS_AVAILABLE_ACTION返回null

时间:2012-10-11 14:57:29

标签: android android-wifi

我正在尝试获取可用的Wifi列表。

我有一个单独的类来保存接收器。

public  BroadcastReceiver WifiScanBroadcast = new BroadcastReceiver(){
    public void onReceive(Context context, android.content.Intent intent) 
    {
        results = wifiManager.getScanResults();
        size = results.size();
    };

我用变量wifiManager实例化了这个类。 这就是我的活动的onCreate功能:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_wifi_list);
    wifiManager = new WifiApManager(this);

    Intent i = registerReceiver(wifiManager.WifiScanBroadcast, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));


}

这就是我在清单中使用的内容:

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

当我到达registerReceiver时,它返回Null。 有什么问题?

2 个答案:

答案 0 :(得分:0)

阅读docs:找到匹配过滤器的第一个粘性意图,如果没有,则返回null。

答案 1 :(得分:0)

我并没有真正弄清楚我的代码出了什么问题,而是转向接收器 活动(过去接收器在另一个类中声明)解决了这个问题。 现在它可以工作