Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android服务未按预期启动/停止_Android_Android Service_Android Notifications - Fatal编程技术网

Android服务未按预期启动/停止

Android服务未按预期启动/停止,android,android-service,android-notifications,Android,Android Service,Android Notifications,对于我认为常见的情况,我得到了多种解决方案。不幸的是,没有一个像预期的那样有效 我已经创建了一个非常简单的android游戏。用户可以邀请朋友一起玩,在游戏的生命周期中,他们会进行一些活动。所有轮次和数据都存储在远程服务器中,该服务器通过web服务公开数据。每次发送邀请或对手完成回合时,服务都会提示用户进行回合 该服务使用标准的android通知提示用户,告诉他们该轮到他们了。我不希望服务在用户观看游戏时轮询web服务或显示通知(他们已经知道是否轮到了) 我尝试了以下解决方案,但没有成功 在主活

对于我认为常见的情况,我得到了多种解决方案。不幸的是,没有一个像预期的那样有效

我已经创建了一个非常简单的android游戏。用户可以邀请朋友一起玩,在游戏的生命周期中,他们会进行一些活动。所有轮次和数据都存储在远程服务器中,该服务器通过web服务公开数据。每次发送邀请或对手完成回合时,服务都会提示用户进行回合

该服务使用标准的android通知提示用户,告诉他们该轮到他们了。我不希望服务在用户观看游戏时轮询web服务或显示通知(他们已经知道是否轮到了)

我尝试了以下解决方案,但没有成功

  • 在主活动的onPause方法中启动服务,并在主活动的onResume方法中停止服务

    • 问题-每次用户离开活动转到另一个活动时,服务都会启动。用户可能正在写东西或创建邀请,系统会提示他们轮到他们
  • 将每个活动绑定到服务,并在所有活动的相同onPause/onResume方法中设置布尔(运行)标志

    • 问题-这似乎合乎逻辑,但由于某些原因,服务从未提供通知。这可能是用户错误,但我不确定这是正确的解决方案
  • 在所有活动的onPause方法中启动服务,并在所有活动的onResume方法中停止服务

    • 问题-基于我在屏幕上展示的祝酒词,显示了服务的状态,这与预期的一样有效。问题是,当服务关闭时,用户会收到通知。很明显,我的祝酒词有误导性
  • 非常感谢您的帮助。示例代码不是必需的,但是如果解决方案比上面描述的概念更复杂,则将不胜感激


    谢谢。

    不要使用服务,使用谷歌云消息,在广播接收器中检查游戏状态,然后决定是否显示通知。轮询通常不好,不必要地使用数据和电池。

    不要使用服务,使用谷歌云消息,在广播接收器中,检查游戏状态,然后决定是否显示通知。轮询通常不好,不必要地使用数据和电池。

    谢谢。我希望这个建议早就提出了。我现在就开始研究,谢谢。我希望这个建议早就提出了。我现在就开始研究。