首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

不同apk共用userid,卸载一个会对另一个有影响?该怎么处理

2012-12-15 
不同apk共用userid,卸载一个会对另一个有影响?有俩个程序a,b:a 是带有图片资源的壁纸程序,首次运行时会将a

不同apk共用userid,卸载一个会对另一个有影响?
有俩个程序a,b:
a 是带有图片资源的壁纸程序,首次运行时会将assets中的图片集copy到私有目录,用户可以在系统的动态壁纸设置列表中 将a设置成当前动态壁纸(此时将会调起a中的壁纸服务)
b 需要获得a中的图片,所以采用了与a共用一个userid的方式,去得到a私有目录下的图片集

现在问题是,a b都安装运行后,将b卸载将会对a产生影响:如果a被设置成当前系统壁纸,卸载b将会直接导致当前壁纸崩掉,或者系统壁纸出现黑屏 等待几秒后a的壁纸服务才重启

请问各位大神 这是啥原因,有么有解决方法或者好的建议

(俩个apk共享私有数据 除了共用userid 还有就是contentprovider, 但是在这情景中a要暴露的数据是图片集资源,采用contentprovider应该是不合适吧,不知这种认知是否有误,也请大家帮忙指正)
[最优解释]
原因估计是userid的进程被杀掉了,a也没得run了,你咋要用两呢?有什么讲究?
[其他解释]

求助呀,是不是分少了
[其他解释]

引用:
原因估计是userid的进程被杀掉了,a也没得run了,你咋要用两呢?有什么讲究?


b是另有用途的一个程序,b跟a的联系就是需要从a拷贝私图片,所以用到同一userid
(ps:可以提一下 b是一个壁纸管理程序,可以对a程序集合进行管理 --- 解释下a程序集合 :共有同一套代码+不同的图片资源+不同包名 ,采用自动打包生成 a1,a2,a3.。。。)
[其他解释]
引用:
原因估计是userid的进程被杀掉了,a也没得run了,你咋要用两呢?有什么讲究?


应该是配置了同一userid 所以ab运行在同一进程 
在application中配置不同的进程名 也不管用
不知道有么有方法能让ab不受这种影响,或者别的方式能让b去访问a中的私有数据
[其他解释]
系统的壁纸服务和壁纸资源不是也应该是分开的,而且应该也不会用同一个userid吧,也行是通过aidl做的?你要不看看先?没研究过这个啊。。。
[其他解释]
需求有点复杂,aidl也达不到要求。。
换成了另外种处理方式,不共有userid了,还是要谢谢楼上

热点排行