如何使Android设备始终处于唤醒模式?

Chi*_*ang 17 android root android-wake-lock

成功设备root后.现在,我需要使设备始终处于唤醒状态,即始终可见UI,无黑屏或任何白日梦屏幕.为此,我想我要完成以下事项:

  1. 没有锁定屏幕 - 关闭
  2. 睡眠设置为"从不"
  3. 白日梦开始"关闭"

我发现的是关于应用层的所有内容,即有一些应用程序可以执行上述任务.但是,由于我的移动设备是根植的,我想用系统文件实现,这样即使其他一些应用程序试图改变上述功能,他们也应该不能这样做.

And*_*eng 9

  1. 激活开发者模式
  2. 转到开发人员选项
  3. 打开"保持清醒"


And*_*tel 5

您的主要用例如下所示(根据您的问题)

即使其他一些应用程序试图更改上述功能,也应该无法更改。

您可以编写系统服务来定期触发PowerManager.WakeLock。(来源

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
wl.acquire();

// screen and CPU will stay awake during this section

wl.release();
Run Code Online (Sandbox Code Playgroud)

为了优化服务,您还可以尝试定期将屏幕超时设置为最大可能的最大值,以便即使手动更改也可以将其重置。(不确定允许的最大数量,您需要反复尝试检查)

  /**
   * set screen off timeout
   * @param screenOffTimeout int 0~6
   */
private void setTimeout(int screenOffTimeout) {
    int time;
    switch (screenOffTimeout) {
    case 0:
        time = 15000;
        break;
    case 1:
        time = 30000;
        break;
    case 2:
        time = 60000;
        break;
    case 3:
        time = 120000;
        break;
    case 4:
        time = 600000;
        break;
    case 5:
        time = 1800000;
        break;
    default:
        time = -1;
    }
    android.provider.Settings.System.putInt(getContentResolver(),
            Settings.System.SCREEN_OFF_TIMEOUT, time);
}
Run Code Online (Sandbox Code Playgroud)

来源


Tej*_*jjD -2

因此,从开发者选项中,您可以获得的最佳时间是 30 分钟左右的“Wake”……

据此,有一些很好的应用程序可以覆盖该功能并无限期地保持屏幕打开

  1. 保持屏幕开启
  2. 活着
  3. 威基

更新

您需要研究 Android 文件系统的结构及其工作原理,然后修改其核心文件。没有简单的方法可以满足您的要求。唯一的方法是创建一个 Android 应用程序,它永远不会有 onDestroy(),并且会在后台持续运行。您可以使用 WakeLock 来实现这一点。

在这里查看如何使用 WakeLock