【问题标题】:Turning Sleeping Android Device on in BroadcastReceiver Class在 BroadcastReceiver 类中打开休眠的 Android 设备
【发布时间】:2015-03-01 08:44:10
【问题描述】:

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

【问题讨论】:

  • 你试过完全唤醒锁吗?
  • @GabeSechan 我试过使用唤醒锁,但它不能打开屏幕。

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


【解决方案1】:

试试这个方法

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

【讨论】:

  • 有没有比使用唤醒锁更有效的方法?
  • 如果您想在活动中打开屏幕,还有另一种方法,但您需要在服务中,所以我认为这是唯一的方法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多