1

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

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

4

1 回答 1

5

创建一个监听WifiManager.NETWORK_STATE_CHANGED_ACTION的BroadcastReceiver,从 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>
于 2013-11-02T02:01:41.223 回答