2011-11-01 28 views
2

我正在设计一个android应用程序,需要在活动状态下每分钟播放一次声音。如何让Android操作系统知道我的应用程序有什么东西要做,当它是背景?

我有一种逻辑,它使用可运行和处理程序在活动状态下每分钟播放声音。如果您按下开始或停止按钮,该应用可以正常工作。

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

我遇到的问题是,如果你打回家,然后启动其他应用程序,有一个高的机会我的应用程序就会被杀死和声音将不再播放(因此GUI将被重置,当你重新启动)

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

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

回答

1

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

除了它不会持续。

我遇到的问题是,如果你打回家,然后启动其他应用程序,有一个高的机会我的应用程序就会被杀死和声音将不再播放(因此GUI将是,当你重新启动复位)

正确。

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

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

您应该使用startForeground()的服务,既能保持Android的距离将其关闭,并给用户一个非常简单的方法,回到活动关闭的东西了(通过Notification您通过startForeground()建立) 。

+0

伟大的我正在寻找服务。我很困惑,因为服务应该做什么。我应该只是使用服务来保持应用程序的活着,还是应该服务本身处理声音?另外,你的意思是服务应该有一分钟的时间? –

+0

@JoshK:我会让服务完成声音。一分钟的时间是为了服务做声音。 – CommonsWare

+0

我无法找到有关服务期的任何文档。谢谢你的提示! –

相关问题