是否可以从其他活动中删除MODE_PRIVATE Android SharedPreferences?

时间:2017-05-11 09:31:50

标签: android sharedpreferences

我有两个活动,HomePageActivity(主页)ListActivity(数据列表),ListActivity的数据来自SharedPreferences。我想从HomePageActivity中删除ListActivity的SharedPreferences(例如,使用远程数据重新同步本地数据)。是否可以从HomePageActivity中做到这一点?

以下是数据存储在ListActivity中的SharedPreferences中的方式:

SharedPreferences mPrefs = getPreferences(MODE_PRIVATE);
SharedPreferences.Editor prefsEditor = mPrefs.edit();
prefsEditor.putString(AppUser.SHARED_MYLIST, myList);
prefsEditor.apply();

我希望能够从HomePageActivity中删除这些数据。

2 个答案:

答案 0 :(得分:0)

尝试

getPreferences("myPrefsName", MODE_PRIVATE)

在你的两个活动中。您将获得相同的SharedPreferences实例。

答案 1 :(得分:0)

public class MainActivity extend AppCompatActivity{
      protected void onCreate(@Nullable Bundle savedInstanceState) {
            SharedPreferences mPrefs = getPreferences(MODE_PRIVATE);
            SharedPreferences.Editor prefsEditor = mPrefs.edit();
            prefsEditor.putString(AppUser.SHARED_MYLIST, myList);
            prefsEditor.apply();
      }
}


public class MainActivity2 extend AppCompatActivity{
      protected void onCreate(@Nullable Bundle savedInstanceState) {
            SharedPreferences mPrefs = getPreferences(MODE_PRIVATE);
            SharedPreferences.Editor prefsEditor = mPrefs.edit();
            prefsEditor.remove(AppUser.SHARED_MYLIST).apply();
      }
}