我正在尝试开始扫描可用 Wifi,并在扫描完成后立即触发广播接收器。
我首先在我的 list 中添加权限并声明接收者:
<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>
在我的 MainActivity
的 onCreate
中,我启动了扫描:
// 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");
}
}
我没有收到任何错误,并且显示了我的第一个 Log
(STARTED SCAN
),但我从未收到 RESULTS RECEIVED
日志。
我不明白为什么我的 BroadcastReceiver 没有收到任何东西
最佳答案
您的BroadcastReceiver
必须是公开的。
class WifiReceiver extends BroadcastReceiver {
应该是
public class WifiReceiver extends BroadcastReceiver {
关于android - Wifi 扫描结果未广播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26106576/