android-删除用户沙箱中共享的\u Prefs文件夹的全部内容
如何清除用户沙盒中的整个共享首选项文件夹,而不仅仅是默认设置。共享_pref文件夹位于此处,通常来自adb shell:android-删除用户沙箱中共享的\u Prefs文件夹的全部内容,android,sharedpreferences,Android,Sharedpreferences,如何清除用户沙盒中的整个共享首选项文件夹,而不仅仅是默认设置。共享_pref文件夹位于此处,通常来自adb shell: /data/data/yourappsPackage/shared_prefs 因此,我创建了许多不同的共享prefs xml文件 例如,我这样创建它们: context.getSharedPreferences("pref_file1",Context.MODE_PRIVATE); context.getSharedPreferences("pref_file2",Con
/data/data/yourappsPackage/shared_prefs
因此,我创建了许多不同的共享prefs xml文件
例如,我这样创建它们:
context.getSharedPreferences("pref_file1",Context.MODE_PRIVATE);
context.getSharedPreferences("pref_file2",Context.MODE_PRIVATE);
context.getSharedPreferences("pref_file3",Context.MODE_PRIVATE);
现在我想用一个命令把它们全部清除?这就是我迄今为止所尝试的:
SharedReferences.editor.clear()代码>但这不只是清除我当前使用的文件吗
我试过:
preference=context.getSharedPreferences("pref_file1",Context.MODE_PRIVATE);
preferences.edit().clear().commit();
pref_文件1被清除,但我需要pref_文件2和pref_文件3也被清除。SharedPrefere是文件,所以要像文件一样操作。通过下面的函数删除它们
void delSharedPref(){
File list = new File("/data/data/" + getPackageName() + "/shared_prefs");
File[] files = list.listFiles();
for(int i = 0; i < files.length; i++ ){
files[i].delete();
}
}
实际上,clear()
会将它们全部删除。remove()。我想删除所有文件。无需通过特定的SharedReference执行此操作。获取应用程序引用的共享首选项SharedReferences prefs=PreferenceManager.GetDefaultSharedReferences(getApplicationContext())
然后你可以在这个级别调用clear来清除你的首选项。Jay,我在nexus 4 api 19上尝试了你的解决方案,但它没有清除shared_pref中的所有文件。它只清除默认文件。你真的试过吗?谢谢我是这么想的。这可能是唯一的答案,但我会等几个小时,看看是否有其他人能找到一个线路更少的解决方案。谢谢
File s = new File("/data/data/" + getPackageName() + "/shared_prefs");
s.delete();
s.mkdir();