【问题标题】:Android Things: Raspberry Pi screen timeoutAndroid Things:树莓派屏幕超时
【发布时间】:2017-09-07 05:18:09
【问题描述】:

我正在使用 Android ThingsRaspberry Pi 上构建应用程序,我有 7 inch touch screen,但屏幕永远不会关闭。

是否可以像 Android 手机一样设置超时?或强制它关闭/打开。

如果我拔掉电源线重新插入屏幕,它会在我重新启动之前无法工作。

【问题讨论】:

    标签: raspberry-pi3 android-things screen-off


    【解决方案1】:

    有两个系统设置控制这个过程:STAY_ON_WHILE_PLUGGED_INSCREEN_OFF_TIMEOUT

    STAY_ON_WHILE_PLUGGED_IN 设置默认设置为BATTERY_PLUGGED_AC。您可以使用Settings API 以编程方式在应用程序代码中更改此值:

    Settings.Global.putInt(getContentResolver(),
            Settings.Global.STAY_ON_WHILE_PLUGGED_IN, 0);
    

    如果更方便,您也可以从命令行进行此更改:

    $ adb shell settings put global stay_on_while_plugged_in 0
    

    【讨论】:

    • 您使用了哪种方法?我刚刚意识到shell命令中有一个错误。
    • 屏幕还亮着,他从不睡觉
    • 第一个使用 STAY_ON_WHILE_PLUGGED_IN 的建议会引发权限错误:java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS。但是,您不能将权限添加到清单中,因为权限仅授予系统应用程序。
    • 使用 SCREEN_OFF_TIMEOUT 需要 android.permission.WRITE_SETTING 但这也永远不会被授予。您可以使用始终返回 false 的 Settings.System.canWrite(this) 检查您是否有权限。使用“adb shell settings put global stay_on_while_plugged_in 0”似乎会冻结显示。
    【解决方案2】:

    以下方法从 Android Things Developer Preview 5.0 开始有效。对于旧版本,它没有效果。

    关闭显示:

    adb shell settings put global stay_on_while_plugged_in 0
    

    开启显示:

    adb shell settings put global stay_on_while_plugged_in 1
    adb shell input keyevent 26
    

    有关编程解决方案,请参阅@Devunwired 的回答。

    【讨论】:

    • 现在是黑色的,但 LED 背光灯亮着,您知道如何将其完全关闭吗?如果我触摸屏幕,它不会唤醒。如果我插入 USB 键盘,它会唤醒
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    • 1970-01-01
    相关资源
    最近更新 更多