不同进程访问”相同“资源

孤街醉人 提交于 2020-04-03 22:07:38

今天碰到一个服务在配置文件里 android:process=":updataService" 是个独立的线程

在Application里我有个SharedPreferences统一管理单例工具,

当我在Service里访问并设置了一个SP(发现会new这个SP工具!!!)

但在Application反问时发现这SP并没有值(只是默认值),

研究半天 猜想是跨进程服务导致我的SP访问不到,还是进程不同步呢?

后面我改成单例传进的是全局的Application ,不传Service 的mContext!

后记:

如是是通知栏里点击启动服务

//PendingIntent.FLAG_UPDATE_CURRENT更新当前Intent ,否则在onStartCommand无法获取数据

 PendingIntent.getService(mContext, 0, startDownAction(), PendingIntent.FLAG_UPDATE_CURRENT);

private Intent startDownAction() {
current_state = DOWNLOAD_START;
Intent intent = new Intent(mContext, UpdateService.class);
intent.putExtra("isNotify",true);
return intent;
}

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!