我IntentSerivce
有时会在后台运行一个,在某些情况下它可能是一个相当长的运行过程。我为用户提供了退出应用程序的选项,该应用程序基本上只是停止并轮询并忽略任何GCM
推送通知。但是,如果收到推送通知并且IntentService
需要一段时间才能完成它必须做的事情(从服务器获取信息并在需要时向用户发送通知,例如收到新消息或其他东西)。
这是问题所在,如果用户在应用程序intentservice
仍在运行时选择“退出”应用程序,他们仍然会收到我不想要的通知。我知道有stopSelf()
该服务的方法,但是当我知道用户通过菜单按钮“退出”应用程序时,我需要在活动中停止它。向服务发送另一个intent
不起作用,因为意图排队并且调用context.stopService(intent);
我的活动也不起作用,所以我还能如何停止它?