1

利用可能な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が返されます。なにが問題ですか?

4

2 に答える 2

0

ドキュメントを読む: フィルターに一致する最初のスティッキー インテント、または何もない場合は null。

于 2012-10-11T15:04:19.200 に答える
0

コードの何が問題なのかはわかりませんでしたが、レシーバーをアクティビティに移動すると(以前はレシーバーが別のクラスで宣言されていました)、問題は解決しました。今それは動作します

于 2012-10-11T23:58:49.023 に答える