在BroadcastReceiver类中打开睡眠Android设备

时间:2015-01-03 05:14:00

标签: java android android-intent android-studio broadcastreceiver

我有一个启动服务的broadcastreceiver类。我想要发生的是当它启动服务时它也应该打开设备屏幕。我还没有找到实施的解决方案。我尝试扩展WakefulBroadcastReceiver但它不会打开屏幕,而是如果设备已经打开则保持设备开启。有谁知道解决方案?

1 个答案:

答案 0 :(得分:2)

尝试这种方法

 public void turnScreenOn(Context context) {
    PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
    @SuppressWarnings("deprecation")
    WakeLock wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.ON_AFTER_RELEASE, "MyWakeLock");
    wakeLock.acquire();
    wakeLock.release();
}

需要许可

  <uses-permission android:name="android.permission.WAKE_LOCK"/>