【问题标题】:Broadcast Receiver on an Open WiFi network found发现开放 WiFi 网络上的广播接收器
【发布时间】:2015-11-11 02:09:12
【问题描述】:

我想在找到的打开的WiFi 网络上调用BroadcastReceiver,那么IntentFilter 中的Action 名称应该是什么?

<receiver android:name=".MyWiFiReceiver" >
   <intent-filter>
      <action android:name="?????????????" />
   </intent-filter>
</receiver>

【问题讨论】:

    标签: java android broadcastreceiver wifi android-wifi


    【解决方案1】:

    试试这个。 我曾经检查过连接变化。

    <receiver android:name=".service.NetworkChangeReceiver">
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    
                <category android:name="com.example.quangtv" />
            </intent-filter>
    </receiver>
    

    【讨论】:

    • 今天上大学了,以后看看,谢谢解答。
    【解决方案2】:

    我不认为有这样的动作会过滤网络类型。 也就是说,您可以在更改时扫描网络并检查它们是否打开使用方法如下:

    static int getSecurity(ScanResult result) {
    
    if (result.capabilities.contains("WEP")) {
        return SECURITY_WEP;
    } else if (result.capabilities.contains("PSK")) {
        return SECURITY_PSK;
    } else if (result.capabilities.contains("EAP")) {
        return SECURITY_EAP;
    }
       return SECURITY_NONE;
    }
    

    我认为这个答案可能会对您有所帮助(上面的方法取自那里): android: Determine security type of wifi networks in range (without connecting to them)

    【讨论】:

    • 但是 udi,当设备发现打开的 wifi 时,我会从内置的 WiFi 应用程序中收到一个简单的通知。所以我认为有一些具体的行动对应于事件。无论如何感谢您的回答:)
    • 好吧,您可以在收到 android.net.conn.CONNECTIVITY_CHANGE 的通知后通过这种方式检查网络来实现这一点
    猜你喜欢
    • 2017-07-17
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    • 1970-01-01
    相关资源
    最近更新 更多