android–PreferenceManager.getDefaultSharedPreferences()vs getPreferences()

android–PreferenceManager.getDefaultSharedPreferences()vs getPreferences(),第1张

概述PreferenceManager.getDefaultSharedPreferences(context)和getPreferences()似乎检索不同的首选项.PreferenceManager.getDefaultSharedPreferences(context).getBoolean("userWasAskedToEnableGps",false);对我来说,返回false,getPrefere

PreferenceManager.getDefaultSharedPreferences(context)

getPreferences()

似乎检索不同的首选项.

PreferenceManager.getDefaultSharedPreferences(context).getBoolean(                        "userWasAskedToEnableGps", false);

对我来说,返回false,

getPreferences(MODE_PRIVATE).getBoolean("userWasAskedToEnableGps", false);

返回true.

Preference是用编辑器编写的

Editor e = getPreferences(MODE_PRIVATE).edit(); e.putBoolean (...);e.commit();

如何在Context中的Activity之外获得相同的Preferences?

解决方法:

从androID github repo(1),我们可以看到getPreferences除了使用当前类名调用getSharedPreferences方法之外什么都不做.

public SharedPreferences getPreferences( int mode ) {    return getSharedPreferences( getLocalClassname(), mode );}

没有什么限制其他活动/代码使用适当的类名访问共享首选项.更重要的是,我不想使用getPreferences,因为这意味着=>永远不会更改活动名称.如果更改,则使用明确提及的早期类名称(升级前)来处理访问共享首选项.

总结

以上是内存溢出为你收集整理的android – PreferenceManager.getDefaultSharedPreferences()vs getPreferences()全部内容,希望文章能够帮你解决android – PreferenceManager.getDefaultSharedPreferences()vs getPreferences()所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1101106.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存