您的位置:首页 > 移动开发 > Android开发

android SharedPreferences 多进程间数据共享

2016-02-25 18:15 274 查看
前提:

一:数据共享方式

同进程内 :SharedPreferences,SQLlite,File,Bundle,Memory,网络。

跨进程:Contentprovider , File,shareperference

1:同包(包名相同,但不同进程不同)

eg:

<service android:name="进程1" />
<service android:name="进程2" android:process=":other"/>


后台独立进程2中读取应用shareperference数据记录方式。

/**
* 获取当前引用的进程名,对于权限给与最大化,使之可以共享数据
*/

Context c = AppApplication.getInstance().createPackageContext(AppApplication.getInstance().getPackageName(), Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences mPreference = c.getSharedPreferences(PREFERENCE,Context.MODE_WORLD_READABLE|Context.MODE_MULTI_PROCESS);


(1)参数说明:

Context有个createPackageContext方法,可以创建另外一个包的上下文,这个实例不同于它本身的Context实例,但是功能是一样的。

这个方法有两个参数:

1:packageName 包名,要得到Context的包名

2:flags 标志位,

CONTEXT_INCLUDE_CODE和CONTEXT_IGNORE_SECURITY。

CONTEXT_INCLUDE_CODE:应用内代码支撑。

CONTEXT_IGNORE_SECURITY:忽略安全警告,如果不加这个标志的话,有些功能是用不了的,会出现安全警告。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: