android 读写其他应用SharedPreferences存储的数据
要读、写其他应用的SharedPreferences,前提是创建该SharedPreferences的应用程序指定了相应的权限,例如:指定了MODE_WORLD_READABLE,表明该SharedPreferences可别其他应用程序读取,指定了MODE_WORLD_WRITEABLE,表明该SharedPreferences可别其他应用程序写入!!
读取其他应用程序的SharedPreferences,可按如下步骤进行:
1.创建其他程序对应的Context:
try {
Context outContext = createPackageContext("com.test.Preferences",
Context.CONTEXT_IGNORE_SECURITY);
} catch (NameNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
上面的代码中”com.test.Preferences“ 即是其他应用程序的包名(android系统其实就是用应用程序的包名来作为该程序的标识)
2.调用其他应用程序的context的getSharedPreferences(String name,int mode)方法即可获取相应的SharedPreferences对象
如:SharedPreferences outShared=outContext.getSharedPreferences("test", MODE_WORLD_READABLE);
3.如果需要向其他应用程序的SharedPreferences数据写入数据, 调用SharedPreferences的edit()方法获取相应的Editor即可
如:SharedPreferences.Editor editor=outShared.edit();