在 BroadcastReceiver Class 中打开休眠 Android 设备

Turning Sleeping Android Device on in BroadcastReceiver Class

我有一个启动服务的广播接收器 class。我想要发生的是当它启动服务时它也应该打开设备屏幕。我还没有找到实施的解决方案。我尝试扩展 WakefulBroadcastReceiver 但它不会打开屏幕,而是让设备保持打开状态(如果它已经打开)。有人知道解决方案吗?

试试这个方法

 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"/>