我想开发一个前台服务来产生声音。但是,我尝试的所有东西只能在我调试时工作,一旦我断开电缆并且手机独立,我就得不到我想要的东西。
我想要的是一个服务,它使用CountDownTimer每X间隔执行一次任务,即使在手机休眠时也是如此。
为此,我使用了以下两个选项,每个选项都有其缺点:
1)使用startForeground()创建前台服务;结束了后台服务。当手机运行时,服务就会进入睡眠状态,操作系统每隔一段时间运行一次(我可以听到声音)。 一旦我将手机打开到锁定屏幕,服务就会生效并立即产生声音。
2)使用WakeLock;即使手机处于睡眠状态也能正常工作,但现在手机的“进入睡眠状态”暂停功能已被禁用,但我仍然需要它,以便用户无需按下锁定按钮。
有人可以告诉我我该怎么办?
答案 0 :(得分:0)
AlarmManager
可能正是您要找的。 p>
http://developer.android.com/reference/android/app/AlarmManager.html
setRepeating(int type, long triggerAtMillis, long intervalMillis, PendingIntent operation)
安排重复闹铃。
setInexactRepeating(int type, long triggerAtMillis, long intervalMillis, PendingIntent operation)
安排具有不准确触发时间要求的重复警报;例如,警报每小时重复一次,但不一定在每小时的顶部重复。