我使用AndroidStudio创建的SettingsActivity(扩展了AppCompatPreferenceActivity,它扩展了PreferenceActivity)。我的首选项值存储在DefaultSharedPreferences(pkg-name_preferences.xml)中。测试套件不覆盖DefaultSharedPreferences
我想在测试套件运行时为DefaultSharedPreference文件指定一个不同的名称。这会阻止测试套件覆盖我在正常使用应用程序期间可能设置的任何首选项值。
可以做到这一点吗? (只是要清楚:我能,如果测试套件运行检测,但我不知道如何为DefaultSharedPreferences指定一个名称)
我发现了一些旧文章暗示:
PreferenceManager prefMngr = getPreferenceManager();
prefMngr.setSharedPreferencesName("my_name");
getPreferenceManager()在API 11中已弃用,如果我尝试使用它,则返回null。
或者也许有其他方法来实现我的目标(测试套件不覆盖应用程序的偏好值)?