我正在尝试停止作为前台服务运行的服务。
当前的问题是,当我调用 stopService()
时,通知仍然存在。
所以在我的解决方案中,我添加了一个接收器,我正在注册到 onCreate()
在 onReceive()
方法中,我调用了 stopforeground(true)
并隐藏了通知。然后 stopself()
停止服务。
在 onDestroy()
中,我注销了接收器。
有没有更合适的方法来处理这个问题?因为 stopService() 根本不起作用。
@Override
public void onDestroy(){
unregisterReceiver(receiver);
super.onDestroy();
}
原文由 user1940676 发布,翻译遵循 CC BY-SA 4.0 许可协议
startService(intent)
并向其传递一些代表 停止服务 的密钥的数据。stopForeground(true)
stopSelf()
就在它之后。