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

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


我得到相同的结果,直到应用程序完全停止然后重新启动,然后保留当前值。几乎就像服务会获得首选项的快照一样。

我想念什么?

最佳答案

解决后,该服务正在远程运行。

09-07 07:55