sharedPreference无法从另一个应用程序

时间:2017-01-05 11:15:04

标签: android android-sharedpreferences

我有2个不同的Android应用程序(app1和app2)。在app2中,我试图从app1的服务中获取sharedPreference的值。我使用以下代码: 在app 1的服务中:

        sharedPreferences = getSharedPreferences(PREFERENCES, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.remove("currentKey");
        editor.putString("currentKey",target);//update sharedPrerences
        editor.apply();
        Log.i(TAG,"value is" + sharedPreferences.getString("currentKey", null) );

在app2中:

        try {
                    Context context = createPackageContext("com.example.packageName",0);
                    sharedPreferences = context.getSharedPreferences(PREFERENCES,Context.MODE_PRIVATE);
                    String current = sharedPreferences.getString("currentKey",null);
                } catch (PackageManager.NameNotFoundException e) {
                    e.printStackTrace();
                }

两个应用在清单中具有相同的以下信息:

          android:sharedUserId="com.android.example"
          android:sharedUserLabel="@string/user_id_label"

在app2中,我可以获得sharedPreference的值,但问题是当app1的服务更改sharedPreference的值时,不会更新该值。不知道!如果有人遇到同样的情况,请帮助我!非常感谢!

0 个答案:

没有答案