android.net.wifi.STATE_CHANGE意图处理(在Activity中)

问题描述 投票:1回答:1

我想在Android应用程序中收到有关WiFi连接状态变化的通知。我发现了几个建议(这里是关于SO)主要导致意图的定义。我正在使用这种方法:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_controller);

    IntentFilter intentFilter = new IntentFilter();
    intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION);
    registerReceiver(broadcastReceiver, intentFilter);

    checkWiFi();
}

public BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent != null)
            checkWiFi();
    }
};

这有效,但我想知道我是否可以使用Manifest中心方法,即如果我把它放在我的AndroidManifest.xml

    <activity
        android:name=".MainActivity"
        android:screenOrientation="landscape">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.net.wifi.STATE_CHANGE" />
        </intent-filter>
    </activity>

我应该收到有关传入意图的通知。对?我怎样才能在我的活动中处理这个问题?

最好的问候,迈克

android android-intent android-wifi
1个回答
0
投票

你应该创建类MyBroadcastReceiver extends BroadcastReceiver

和下一个Manifest

<receiver android:name=".MyBroadcastReceiver">
    <intent-filter>
        <action android:name="android.net.wifi.STATE_CHANGE" />
    </intent-filter>
</receiver>
© www.soinside.com 2019 - 2024. All rights reserved.