我写了一个简单的倒数计时器应用程序,我正在使用下面的代码打开屏幕,振动并在倒计时结束时播放警报声音:
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
Vibrator v = (Vibrator) mContext.getSystemService(Context.VIBRATOR_SERVICE);
RingTone r = RingtoneManager.getRingtone(mContext, notification);
WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK|PowerManager.ACQUIRE_CAUSES_WAKEUP, "Countdown Timer");
wl.acquire(1000);
v.vibrate(pattern, -1);
r.play();
虽然这在手机充电时工作正常但是当我断开充电器时,唤醒锁不会打开屏幕,当我使用电源按钮手动打开屏幕时,我只会受到振动和警报。
当我在另一台设备上测试时,它似乎工作正常。
有什么想法吗?
答案 0 :(得分:0)
您的代码wl.acquire(1000);
将在1秒后释放唤醒锁。试试这段代码:
wl.acquire();
v.vibrate(pattern, -1);
r.play();
w1.release();
答案 1 :(得分:0)
我正在使用这个工作正常
// set up wakelock
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
WakeLock wakelock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "DoNotDimScreen");
wakelock.acquire();