如何让Android操作系统知道我的应用程序有什么后台操作?

时间:2011-11-01 00:25:42

标签: android

我正在设计一个Android应用程序,它需要在处于活动状态时每分钟播放声音。

我的逻辑是使用runnable和handler在活动状态下每分钟播放声音。如果您按开始或停止按钮,该应用程序工作正常。

如果您运行该应用并点击停止它会杀死该应用。如果您运行应用程序命中回家,声音将继续播放,当您重新启动时,计时器将是最新的。这是预期的。

我遇到的问题是,如果你回家然后启动另一个应用程序,我的应用程序很可能会被杀死并且声音将不再播放(因此当重新启动时GUI将被重置)

我的问题是,我应该使用什么方法让我的应用程序继续播放声音,直到我告诉它停止,即使它不在前景?声音可以被认为是提醒用户。

我曾尝试使用谷歌机器来帮助我,但我没有运气。

1 个答案:

答案 0 :(得分:1)

  

如果您运行应用程序命中回家,声音将继续播放,当您重新启动时,计时器将是最新的。这是预期的。

除非它不会持续。

  

我遇到的问题是,如果你回家然后启动另一个应用程序,我的应用程序很可能会被杀死并且声音将不再播放(因此当重新启动时GUI将被重置)

正确。

  

我应该使用什么方法让我的应用程序继续播放声音,直到我告诉它停止,即使它不在前台?

A service。在一分钟的时间内,您处于我认为您应该使用AlarmManagerIntentService之间的边界线以及现有Handler方法可以使用的位置。

您应该将startForeground()与服务一起使用,以防止Android关闭它,并为用户提供一种非常简单的方法来回到活动以关闭服务(通过{{1你通过Notification建立。