繁体   English   中英

android服务重启后静态数据丢失

[英]Static data lost after android service restart

我的Android应用程序启动了本地前台服务(与我的活动相同)。 即使系统由于内存不足而破坏了活动,该服务也必须保持活动状态。

下次用户启动该应用程序时,我需要检查该服务是否正在运行。 我试图将状态存储在public static boolean Started = false; 服务类中标记(我知道这是不好的做法)。

我的活动从运行服务的过程开始。 我以为,静态构造函数称为一个。 因此,我将可以在活动中检查此标志。 但是,静态数据将重新初始化为默认值。

有人能给我关于这种行为的提示吗?

这只是一个示例,当应用程序停止运行时,我如何重新启动服务

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM