程序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数据能被其他程序读写。