我使用闹钟管理器来调用一个活动,我正在使用wake locker class onRecive()来唤醒手机,然后在Activity结束后调用WakeLocker.release(),但屏幕仍然保持打开状态...
Receive.class:
public class MyScheduledReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
WakeLocker.acquire(context);
Activity.class
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
WakeLocker.release();
finish();
}
我把它放在onPause(),onStop()的各个地方......这个东西不会释放,我的应用程序关闭后屏幕也不会自动关闭...
答案 0 :(得分:1)
确保您申请权限
<uses-permission android:name="android.permission.WAKE_LOCK" />
答案 1 :(得分:0)
您正在广播接收器中启动唤醒锁并在活动中停止它。 您正在引用一个唤醒锁的两个不同实例。您应该从onreceive开始活动,并在onresume中获取唤醒锁定,然后在暂停时释放,如果这是您希望它发生的地方。
你不应该在广播接收器中启动任何应该存在一段时间的事情,因为接收器会尽快被破坏。
答案 2 :(得分:0)
试试这个
PowerManager pm;
PowerManager.WakeLock wakeLock;
pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK,
"x2_wakelook");
wakeLock.acquire();
wakeLock.release();