我的 Android 应用程序启动本地前台服务(与我的活动过程相同)。即使系统由于内存不足而破坏活动,服务也必须保持活动状态。
下次用户启动应用程序时,我需要检查服务是否正在运行。我试图将状态存储在服务类public static boolean Started = false;
标志中(我知道这是不好的做法)。
我的活动在运行服务的过程中开始。我想,这个静态构造函数叫做 1。因此,我将能够在活动中检查此标志。但是,静态数据将重新初始化为默认值。
有人可以给我关于这种行为的提示吗?
这里只是一个示例,当我的应用程序进入地面时,我如何重新启动服务
public void storeLastLocation() {
if (!isStoreLocationActive){
Log.d("IQ MA", "storeLastLocation() called");
String access_token = Configs.access_token;
Intent intent = new Intent(MainActivity.this, StoreLocationService.class);
intent.putExtra("access_token", access_token);
stopService(intent);
startService(intent);
isStoreLocationActive = true;
}
}
然后将布尔值存储在服务正在运行时