Ber*_*and 5 java permissions android screen
我正在制作一个应用程序,用接近传感器打开和关闭屏幕.接近代码已完成,但我在使用屏幕控制时遇到了麻烦.
我读过我应该用的,
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
manager.goToSleep(int amountOfTime);
Run Code Online (Sandbox Code Playgroud)
为此,我需要授予特殊权限才能使其正常工作,但我还没弄清楚如何做到这一点.
此外,我已阅读有关更改屏幕亮度的信息
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
Run Code Online (Sandbox Code Playgroud)
但这种方式只能在我的应用程序上关闭屏幕; 如果我的应用程序在后台运行,它不起作用.
我还读过关于使用Wakelock的信息(我用它来唤醒我的手机屏幕关闭),但是什么时候
PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Your Tag");
wl.acquire();
wl.release();
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,没有任何反应.
还有其他办法吗?
您需要为您的应用程序授予正确的权限才能执行此操作:
添加到标签<uses-permission android:name="android.permission.DEVICE_POWER" />
内的清单中<manifest>
如果你想让你的屏幕保持打开状态,请使用这个,正如 Dianne Hackborn 在 Google Plus 上的建议: KeepScreenOn