相关疑难解决方法(0)

应用程序关闭后保持广播接收器运行

应用程序启动后,我需要让广播接收器一直运行.

这是在应用程序中注册此接收器的代码

    IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
    filter.addAction(Intent.ACTION_SCREEN_OFF);
    BroadcastReceiver mReceiver = new ScreenEventsReceiver();
    registerReceiver(mReceiver, filter);
Run Code Online (Sandbox Code Playgroud)

和接收器的代码

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");
        }
     }
}
Run Code Online (Sandbox Code Playgroud)

java android broadcastreceiver

27
推荐指数
2
解决办法
3万
查看次数

应用程序未运行时的BroadcastReceiver

BroadcastReceiver在清单中注册了一个接收来自的通知AlarmManager.当应用程序正在运行时,这一切都很有效,即onReceive()正在调用该方法.

但是,如果我强制停止应用程序,以便我可以测试是否BroadcastReceiver仍然会收到来自AlarmManager未运行的通知,onReceive()则永远不会调用该方法.

强制停止不能用AlarmManager这种方式测试接收器吗?似乎有一些回应称它不起作用,有些人说应该这样做.

如果没有,有没有办法测试这个?

android broadcastreceiver alarmmanager

5
推荐指数
1
解决办法
6469
查看次数

标签 统计

android ×2

broadcastreceiver ×2

alarmmanager ×1

java ×1