【问题标题】:Execute code when wifi SSID changeswifi SSID改变时执行代码
【发布时间】:2013-11-01 19:30:33
【问题描述】:

我想在手机连接的无线网络的 SSID 发生变化时执行一些操作。如果手机处于“非活动状态”(例如锁定),这也应该有效。

服务是否适合这种类型的应用程序?我猜 Android 可以让我的服务在此类事件中被调用?我该怎么做?

【问题讨论】:

    标签: android android-intent service wifi


    【解决方案1】:

    创建一个BroadcastReceiver 监听WifiManager.NETWORK_STATE_CHANGED_ACTION,从onReceive 中的intent extra WifiManager.EXTRA_BSSID 中获取SSID。

    如果您的 SSID 处理工作很昂贵,请将其卸载到服务中(请参阅 BroadcastReceiver.onReceive 的文档)。

    您的 AndroidManifest.xml 应该类似于:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        ...>
    
        <!-- Permission to listen for network changes -->
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    
        <application
            ...>
            <receiver android:name=".YourBroadcastReceiver" >
                <intent-filter>
                    <action android:name="android.net.wifi.STATE_CHANGE" />
                </intent-filter>
            </receiver>
        </application>
    </manifest>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-05
      • 2018-05-21
      • 2015-04-17
      相关资源
      最近更新 更多