我正在创建一个接收电池数据的小应用程序(通过BatteryManager),当电池电量达到100%时,它会每5秒向用户发出一次声音,让他知道电池已充满电。
问题是当应用程序暂停时,发出声音的线程也会停止。有没有办法保持这个线程活着?我一直在阅读有关服务的内容,但不知道这是否适合这么简单的事情。使用服务我想我可以在那里跟踪电池电量并在服务中发出声音。
任何人都可以发表评论"好方法"实现这个目标?
提前致谢。
答案 0 :(得分:1)
绝对使用Service
。不要忘记在清单中声明它就像你的活动一样。关于您播放的声音,SoundPool
旨在播放短的音频文件,如游戏效果或通知声音。要播放音乐文件,请使用MediaPlayer
。
答案 1 :(得分:1)
服务是一个很好的解决方案。解决此问题的另一种方法是每5秒设置一次重复警报http://developer.android.com/training/scheduling/alarms.html以触发您的代码。
答案 2 :(得分:0)
服务是最好的事情。并将声音作为背景播放。