我需要做一个关闭移动屏幕并以编程方式进入睡眠的应用程序。例如,如果屏幕在没有 user_present 的情况下打开超过 5 分钟,我应该将其关闭。我尝试使用 PowerManager(goToSleep() 函数应该完全符合我的要求,但它似乎不起作用):
PowerManager pm = (PowerManager) m_context.getSystemService(Context.POWER_SERVICE);
if (pm.isScreenOn() )
{
pm.goToSleep(System.currentTimeMillis() + 1000
}
我的清单中有以下权限:
<uses-permission android:name="android.permission.DEVICE_POWER"/>
它抛出异常:java.lang.SecurityException:用户 10068 和当前进程都没有 android.permission.DEVICE_POWER。但我的清单中有这个权限。
有没有另一种方法可以做到这一点,而无需植根我的手机?