Android:将应用程序使用的所有SharedReference重置为默认值
在我的应用程序中,首选项由Android:将应用程序使用的所有SharedReference重置为默认值,android,preferences,reset,Android,Preferences,Reset,在我的应用程序中,首选项由SharedReferences组织。我需要执行重置为应用程序默认值 我知道如何重置特定共享引用的所有值: SharedPreferences prefs = getSharedPreferences( "name_of_the_preferences_file", MODE_PRIVATE ); SharedPreferences.Editor editor = prefs.edit(); editor.clear(); edi
SharedReferences
组织。我需要执行重置为应用程序默认值
我知道如何重置特定共享引用的所有值
:
SharedPreferences prefs = getSharedPreferences(
"name_of_the_preferences_file",
MODE_PRIVATE
);
SharedPreferences.Editor editor = prefs.edit();
editor.clear();
editor.commit();
但问题是,只有一个特定首选项的首选项“首选项文件的名称”被重置。当然,所有rest首选项都不会受到影响
那么,如何实现完全去油复位呢
最好得到所有首选项文件的名称,然后逐个重置
但理想情况下,我希望以编程方式销毁所有应用程序数据。这可能是最好的变体。原始答案:请参阅
编辑:您声明“我需要执行重置为应用程序默认值”。该链接提供了解决方案:您没有提到重置所有应用程序的所有首选项。
您无法从自己的应用程序中删除其他应用程序的首选项,因为SharedReference存储在一个文件中,并且您的应用程序对包含这些文件的目录没有写入权限我相信您会在这里找到答案:谢谢,但只有与我在问题中所述相同的解决方案,但是要删除所有需要root访问权限的设置,不是吗?所以很遗憾,我在那里找不到答案。当然,我不想为所有应用重置prefs。这将是非常糟糕的愿望。每个应用程序都可以有几个prefs文件(在我的示例中,pref文件名是“首选项文件的名称”)。我想为我的应用程序获取这些文件的所有名称。(然后我将能够重置每个文件中的设置)你必须迭代每个共享的pref&调用clear()没有其他方法,但我如何才能获得我的应用程序创建的所有pref的列表?哦,这是你的问题?为什么不使用一个SharedRef呢。而不是有Pref1,Pref2,Pref3等。。。有了一堆钥匙,你就只有一个pref和jeys Pref1.*,Pref2.*如果无法获取列表,那么我可能不得不这样做,谢谢。但这似乎很糟糕,我无法获得包含所有文件名的列表。。