我想在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>
我应该收到有关传入意图的通知。对? 我如何在我的活动中处理这个?
最好的问候,迈克
答案 0 :(得分:0)
你应该创建课程
MyBroadcastReceiver extends BroadcastReceiver
和下一个Manifest
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="android.net.wifi.STATE_CHANGE" />
</intent-filter>
</receiver>