0

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

我想要的是一种使用 CountDownTimer 每隔 X 间隔执行一个任务的服务,即使手机处于休眠状态也是如此。

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

1) 使用 startForeground() 创建前台服务;以后台服务结束。该服务只是在手机运行时进入睡眠状态,并且每隔一段时间操作系统就会运行它(我可以听到声音)。一旦我将手机打开到其锁定屏幕,该服务就会激活并立即发出声音。

2)利用WakeLock;这即使在手机睡眠时也有效,但现在手机的“进入睡眠”超时被禁用,但我仍然希望它打开,这样用户就不必按下锁定按钮。

有人可以告诉我我能做什么吗?

4

1 回答 1

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)

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

于 2012-11-12T20:36:39.443 回答