有俩个程序a,b:
a 是带有图片资源的壁纸程序,首次运行时会将assets中的图片集copy到私有目录,用户可以在系统的动态壁纸设置列表中 将a设置成当前动态壁纸(此时将会调起a中的壁纸服务)
b 需要获得a中的图片,所以采用了与a共用一个userid的方式,去得到a私有目录下的图片集现在问题是,a b都安装运行后,将b卸载将会对a产生影响:如果a被设置成当前系统壁纸,卸载b将会直接导致当前壁纸崩掉,或者系统壁纸出现黑屏 等待几秒后a的壁纸服务才重启请问各位大神 这是啥原因,有么有解决方法或者好的建议(俩个apk共享私有数据 除了共用userid 还有就是contentprovider, 但是在这情景中a要暴露的数据是图片集资源,采用contentprovider应该是不合适吧,不知这种认知是否有误,也请大家帮忙指正)

解决方案 »

  1.   

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

  2.   


    b是另有用途的一个程序,b跟a的联系就是需要从a拷贝私图片,所以用到同一userid
    (ps:可以提一下 b是一个壁纸管理程序,可以对a程序集合进行管理 --- 解释下a程序集合 :共有同一套代码+不同的图片资源+不同包名 ,采用自动打包生成 a1,a2,a3.)
      

  3.   


    应该是配置了同一userid 所以ab运行在同一进程 
    在application中配置不同的进程名 也不管用
    不知道有么有方法能让ab不受这种影响,或者别的方式能让b去访问a中的私有数据
      

  4.   

    系统的壁纸服务和壁纸资源不是也应该是分开的,而且应该也不会用同一个userid吧,也行是通过aidl做的?你要不看看先?没研究过这个啊
      

  5.   

    需求有点复杂,aidl也达不到要求。。
    换成了另外种处理方式,不共有userid了,还是要谢谢楼上