【问题标题】:switch off/on screen on PARTIAL_WAKE_LOCK在 PARTIAL_WAKE_LOCK 上关闭/打开屏幕
【发布时间】:2014-08-05 19:18:47
【问题描述】:

我正在使用此代码进入 PARTIAL_WAKE_LOCK 模式:

PowerManager pm = PowerManager.getSystemService(Context.POWER_SERVICE);
screenWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
                            "screenWakeLock");
pm.acquire();

但是我没有成功关闭屏幕并在需要时打开它,我阅读了数十个示例但没有成功。

我不能使用需要权限 DEVICE_POWER 的代码,例如 goToSleep() 和 wakeUp()。

我的目标是打开屏幕 1 秒,然后关闭屏幕 10 秒,然后重新开始。

谢谢大家。

【问题讨论】:

    标签: android powermanager


    【解决方案1】:

    使用 PowerManager 需要 DEVICE_POWER 权限,该权限仅适用于使用相同签名签名固件的应用程序。这就是为什么你不能使用 goToSleep() 和 wakeUp()。

    这段代码可以让我打开/关闭屏幕:

    //Turn off - brighness to 0;            
    WindowManager.LayoutParams params = getWindow().getAttributes();
    params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
    params.screenBrightness = 0;
    getWindow().setAttributes(params);
    

    要打开,只需将亮度更改为 >0;

    【讨论】:

    • PARTIAL_WAKE_LOCK 不需要 WAKE_LOCK 权限?
    • 是的,我的回答是为了使用 goToSleep() 或 wakeUp() 你需要 DEVICE_POWER 权限。查看我编辑的答案以关闭/打开屏幕。
    猜你喜欢
    • 2022-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 2019-11-20
    • 2020-04-12
    相关资源
    最近更新 更多