android – 在AppWidget Provider中获取首选项

前端之家收集整理的这篇文章主要介绍了android – 在AppWidget Provider中获取首选项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我似乎无法从AppWidgetProvider类中读取首选项.我的代码在Activity中工作,但它不在AppWidgetProvider中.这是我用来回读布尔值的代码
SharedPreferences settings = getSharedPreferences(PREFS_NAME,0);
boolean autoreplyon = settings.getBoolean("autoreplyon",false);

但是,我得到“方法getSharedPreferences(String,int)未定义类型小部件”错误(小部件是我的AppWidgetProvider类的名称).

在此先感谢您的任何建议!

解决方法

getSharedPreferences(),如果您选择使用它,则仅在Context的子类(如Activity或Service)上可用. AppWidgetProvider是BroadcastReceiver的子类,它不是Context.

话虽这么说,如果你打算使用PreferenceScreen系统,或者如果你不确定它必须是getSharedPreferences(),我会改用PreferenceManager.getDefaultSharedPreferences().这些是PreferenceScreen / PreferenceActivity将使用的SharedPreferences.

猜你在找的Android相关文章