【问题标题】:Android: Keep screen on [duplicate]Android:保持屏幕开启[重复]
【发布时间】: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 的上下文。

标签: android android-fragments keep-alive


【解决方案1】:

是的。你不能用这个吗?

getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

对于 Kotlin,使用:

activity?.window?.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)

【讨论】:

  • 前面有一个 getActivity(),这工作得很好:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-06
  • 1970-01-01
  • 1970-01-01
  • 2013-10-09
  • 1970-01-01
  • 2012-05-03
相关资源
最近更新 更多