所以基本上,我的服务会显示一个通知,如果用户愿意,可以将其关闭。
该设置由应用程序内部控制,并通过 PreferenceActivity 进行设置。
退出活动时:
public void onDestroy(){
prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
debug.postLog(Log.DEBUG, "Settings", "("+this.toString()+") showNotification: " + prefs.getBoolean("showNotification", true));
显示正确的值,如果用户取消选中该复选框,则显示为 false,反之亦然。
同时,当我在我的服务中随时调用它时:
prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
Boolean show = prefs.getBoolean("showNotification", true);
debug.postLog(Log.DEBUG, "Passive Service", "("+this.toString()+") showNotification: " + prefs.getBoolean("showNotification", true));
if(prefs.getBoolean("showNotification", true)){
我得到相同的结果,直到应用程序完全停止然后重新启动,然后保留当前值。这几乎就像服务获得了偏好的快照。
我错过了什么?