我正在使用广播接收器进行WiFi和屏幕开/关事件。当我在Galaxy S3(Android版本4.1.1)上测试时,代码工作正常,但是当我在Moto g(Android版本4.4.3)上运行相同的代码时,广播接收器不起作用。什么可能是错的任何建议? API级别为19.我的代码片段已附加以供参考。 注册:
public int onStartCommand(Intent intent, int flags, int startId)
{
if (intent!=null)
{
super.onCreate();
IntentFilter filter = new IntentFilter();
filter.addAction(WifiManager.WIFI_STATE_CHANGED_ACTION);
registerReceiver(this.mybroadcast, filter);
}
}
关于毁灭:
public void onDestroy()
{
super.onDestroy();
unregisterReceiver(mybroadcast);
}
onReceive:
if (intent.getAction().equals(WifiManager.WIFI_STATE_CHANGED_ACTION)) {
int WifiState = intent.getIntExtra(
WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN);
switch(WifiState){
case WifiManager.WIFI_STATE_ENABLED:
Toast.makeText(context, "Connected").show();
break;
case WifiManager.WIFI_STATE_DISABLED:
Toast.makeText(context, "Disabled").show();
break;
}
}