当我启动谷歌地图导航时,它会使屏幕保持活动状态,如果我将其关闭并再次打开电源按钮,则地图应用程序位于锁定屏幕上方,只有当我最小化应用程序时,我才能解锁屏幕。 所以我可以关闭和打开屏幕,仍然可以使用应用程序,而无需解锁屏幕
我如何为自己的应用程序实现这一目标?
我知道我可以用
打开屏幕private <T> T $(@IdRes int id) {
return (T) findViewById(id);
}
但这并不妨碍我在关闭再打开屏幕后解锁屏幕。
答案 0 :(得分:2)
您可以使用屏幕固定选项之类的内容。该应用程序将在锁定屏幕上,但它不是以编程方式完成的,但它可以达到您想要的效果。
在屏幕上固定应用的说明:
但是,如果您想使用代码执行此操作,请参阅属性:android:showOnLockScreen="true"
和链接:
答案 1 :(得分:2)
你应该搬家
在getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
下面setContentView()
,并将android:keepScreenOn="true"
放入主要布局的根视图中。
答案 2 :(得分:0)
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
在setContentView(...)
之前