我需要让应用程序启动后广播接收器始终运行。关闭应用程序后继续运行广播接收器
下面是在应用程序
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
BroadcastReceiver mReceiver = new ScreenEventsReceiver();
registerReceiver(mReceiver, filter);
和代码注册该接收器的接收器
public class ScreenEventsReceiver extends BroadcastReceiver {
public static boolean wasScreenOn = true;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
wasScreenOn = false;
Log.d("ScreenEventReceiver", "ON");
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
wasScreenOn = true;
Log.d("ScreenEventReceiver", "ON");
}
}
}
您可能想要创建一个[服务](https://developer.android.com/reference/android/app/Service.html) –
但接收事件呢? –
你真的需要监视屏幕开/关事件吗?他们强迫你注册一个不在清单中的接收者的原因是他们不希望人们总是监视这些事件并放慢设备速度。 – natez0r