【问题标题】:Wifi Scan Results is not broadcastingWifi 扫描结果未广播
【发布时间】:2014-09-29 18:37:28
【问题描述】:

我正在尝试开始扫描可用的 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");
    }

}

我没有收到任何错误,并且我的第一个 Log (STARTED SCAN) 被显示,但我从未在日志中看到我的 RESULTS RECEIVED

我不明白为什么我的 BroadcastReceiver 没有收到任何东西

【问题讨论】:

    标签: android android-emulator android-wifi android-broadcast


    【解决方案1】:

    您的BroadcastReceiver 必须是公开的。

    class WifiReceiver extends BroadcastReceiver {
    

    应该是

    public class WifiReceiver extends BroadcastReceiver {
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 1970-01-01
      • 1970-01-01
      • 2018-08-17
      • 1970-01-01
      相关资源
      最近更新 更多