制定前台服务建议

时间:2012-11-12 20:32:28

标签: android android-service

我想开发一个前台服务来产生声音。但是,我尝试的所有东西只能在我调试时工作,一旦我断开电缆并且手机独立,我就得不到我想要的东西。

我想要的是一个服务,它使用CountDownTimer每X间隔执行一次任务,即使在手机休眠时也是如此。

为此,我使用了以下两个选项,每个选项都有其缺点:

1)使用startForeground()创建前台服务;结束了后台服务。当手机运行时,服务就会进入睡眠状态,操作系统每隔一段时间运行一次(我可以听到声音)。 一旦我将手机打开到锁定屏幕,服务就会生效并立即产生声音。

2)使用WakeLock;即使手机处于睡眠状态也能正常工作,但现在手机的“进入睡眠状态”暂停功能已被禁用,但我仍然需要它,以便用户无需按下锁定按钮。

有人可以告诉我我该怎么办?

1 个答案:

答案 0 :(得分:0)

AlarmManager可能正是您要找的。

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)
  

安排具有不准确触发时间要求的重复警报;例如,警报每小时重复一次,但不一定在每小时的顶部重复。