【发布时间】:2019-06-11 20:52:38
【问题描述】:
我想要实现的是,当我从最近关闭我的应用程序时,我仍然可以通过我的通知来控制我的应用程序。
一切正常,但是当我的应用程序仍在运行时单击通知中的关闭按钮时,我得到了很多 NPE。
点击通知中的关闭按钮时执行的代码:
mMediaSessionCompat.setCallback(new MediaSessionCompat.Callback() {
@Override
public void onStop() {
super.onStop();
Main.unbindService(getApplicationContext());
stopSelf();
Log.d(TAG,"stop!");
}
现在,当我关闭我的应用程序,然后通过通知销毁我的 服务 时,一切正常。
所以我的问题是我如何确定我的应用程序何时仍在运行(对用户可见或在后台(最近的应用程序)可见,以及何时被销毁且仅存在通知?
然后我可以创建 if 语句,仅在应用程序被销毁时调用 stopSelf();,而在我的应用程序仍在运行时不调用它。
【问题讨论】: