程序A:
SharedPreferences preferences=getSharedPreferences("myPreferences", Context.MODE_WORLD_READABLE);
SharedPreferences.Editor editor=preferences.edit();
editor.putString("myKey","myVal");
editor.commit();
程序B通过下面的代码访问程序A创建的SharedPreferences
Context useContext;
try {
useContext = createPackageContext("程序A的包名", CONTEXT_IGNORE_SECURITY);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
SharedPreferences preferences = useContext.getSharedPreferences("myPreferences", Context.MODE_WORLD_READABLE);
String str=preferences.getString("myKey","myVal");
Toast.makeText(NsdActivity.this,str,Toast.LENGTH_LONG).show();
getSharedPreferences(String name,int mode)方法的第二个参数有下面几个:
Context.MODE_PRIVATE :指定SharedPreferences数据只能被本程序读写。
Context.MODE_WORLD_READABLE :指定SharedPreferences数据能被其他程序读,不能写。
Context.MODE_WORLD_WRITEABLE :指定SharedPreferences数据能被其他程序读写。