访问其他程序的SheardPreferents

程序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数据能被其他程序读写。
原文地址:https://www.cnblogs.com/l2rf/p/5316092.html