安卓服务重启后静态数据丢失



我的 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;
    }
}

然后将布尔值存储在服务正在运行时

最新更新