Android:保持屏幕开启[重复]
Posted
技术标签:
【中文标题】Android:保持屏幕开启[重复]【英文标题】:Android: Keep screen on [duplicate] 【发布时间】:2014-01-26 21:06:54 【问题描述】:我尝试将屏幕设置为始终打开,但我不知道如何在片段中执行此操作。我试图访问 ViewPager,但它返回一个空值。我希望整个应用程序的屏幕都打开,但它应该能够由用户在应用程序的设置中进行更改。
这是我的片段中的代码:
private void setIsAlwaysOn(boolean b)
ViewPager pager = (ViewPager)getView().findViewById(R.id.pager);
pager.setKeepScreenOn(b);
sharePropertiesEditor.putBoolean(sp_alwaysOn, b);
sharePropertiesEditor.commit();
我在上面可见代码的第 4 行得到一个空指针异常。
【问题讨论】:
我已经尝试过了,但我无法访问 getWindow 或 currentWindow 在片段中 getActivity().getWindow() 发布完整的堆栈跟踪,以便我们可以看到 NPE 的上下文。 【参考方案1】:是的。你不能用这个吗?
getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
对于 Kotlin,使用:
activity?.window?.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
【讨论】:
前面有一个 getActivity(),这工作得很好:)以上是关于Android:保持屏幕开启[重复]的主要内容,如果未能解决你的问题,请参考以下文章