art*_*ros 1 android background screen
我决定在一篇文章中发布两个问题,因为这是完全相同的问题.
我需要知道屏幕何时开启或关闭,以便我可以转动LED.第二个我需要知道我的应用程序是在backgorund还是在前台,以便在应用程序处于后台时管理某些动作的发送通知.
Jor*_*lez 11
为屏幕ON/OFF检查添加答案:
// If you use API20 or more:
DisplayManager dm = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE);
for (Display display : dm.getDisplays()) {
if (display.getState() != Display.STATE_OFF) {
return true;
}
}
return false;
// If you use less than API20:
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
if (powerManager.isScreenOn()){ return true; }
Run Code Online (Sandbox Code Playgroud)
请注意,Display.getState()也可以返回STATE_DOZE,STATE_DOZE_SUSPEND这意味着屏幕以特殊方式打开.有关更多信息Display.getState()及其返回值:http://developer.android.com/reference/android/view/Display.html#getState()
另请注意,虽然官方文档建议使用isInteractive()而不是isScreenOn(),如果您真的想知道屏幕的状态,Display.getState()是一个更好的选择,因为在设备不是交互式时设置屏幕的"特殊"条件.
| 归档时间: |
|
| 查看次数: |
9039 次 |
| 最近记录: |