我正在设计一个Android应用程序,它需要在处于活动状态时每分钟播放声音。
我的逻辑是使用runnable和handler在活动状态下每分钟播放声音。如果您按开始或停止按钮,该应用程序工作正常。
如果您运行该应用并点击停止它会杀死该应用。如果您运行应用程序命中回家,声音将继续播放,当您重新启动时,计时器将是最新的。这是预期的。
我遇到的问题是,如果你回家然后启动另一个应用程序,我的应用程序很可能会被杀死并且声音将不再播放(因此当重新启动时GUI将被重置)
我的问题是,我应该使用什么方法让我的应用程序继续播放声音,直到我告诉它停止,即使它不在前景?声音可以被认为是提醒用户。
我曾尝试使用谷歌机器来帮助我,但我没有运气。
答案 0 :(得分:1)
如果您运行应用程序命中回家,声音将继续播放,当您重新启动时,计时器将是最新的。这是预期的。
除非它不会持续。
我遇到的问题是,如果你回家然后启动另一个应用程序,我的应用程序很可能会被杀死并且声音将不再播放(因此当重新启动时GUI将被重置)
正确。
我应该使用什么方法让我的应用程序继续播放声音,直到我告诉它停止,即使它不在前台?
A service。在一分钟的时间内,您处于我认为您应该使用AlarmManager
和IntentService
之间的边界线以及现有Handler
方法可以使用的位置。
您应该将startForeground()
与服务一起使用,以防止Android关闭它,并为用户提供一种非常简单的方法来回到活动以关闭服务(通过{{1你通过Notification
建立。