1

所以基本上,我的服务会显示一个通知,如果用户愿意,可以将其关闭。

该设置由应用程序内部控制,并通过 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)){

我得到相同的结果,直到应用程序完全停止然后重新启动,然后保留当前值。这几乎就像服务获得了偏好的快照。

我错过了什么?

4

1 回答 1

1

解决了,该服务作为远程运行。

于 2012-09-22T10:19:50.123 回答