我找到了一种方法来了解应用程序何时进入后台(其任务已删除)。我创建了一个以{strong>非粘性开头的Service
并覆盖了该方法:
public class myService extends Service {
...
@Override
public void onTaskRemoved(Intent rootIntent) {
NotificationsListenerTask.isAppInBackground = true;
Log.d("TEST", "background");
stopSelf();
}
}
其中NotificationsListenerTask.isAppInBackground
是静态布尔值,它位于另一个类中,默认情况下设置为false。
我有另一个Service
以粘性开头,每隔5秒打印一次NotificationsListenerTask.isAppInBackground
的值。
问题是,应用程序被杀后(我看到onTaskRemoved
因为我设置的Log.d
而被调用),NotificationsListenerTask.isAppInBackground
的值不会更改!它每隔5秒就会保持打印旧值......
为什么它没有改变,我怎样才能改变它(或者如何通知另一个服务onTaskRemoved被调用)?