getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)完全没有响应

qwr*_*qwr 2 android

我的主要活动有这个代码.

  protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.startactivity);

            getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
            ... 
Run Code Online (Sandbox Code Playgroud)

但屏幕仍然在一段时间后暗淡,任何线索为什么会发生这种情况?

kco*_*ock 6

文档setFlags()(为addFlags()便利方法):

请注意,在创建窗口修饰之前必须设置一些标志(通过第一次调用setContentView(View,android.view.ViewGroup.LayoutParams))

这意味着您应该在打电话addFlags()之前将呼叫转移到setContentView().@nandeesh已经发布了这个答案但删除了它 - 我不知道为什么.

  • @Ted:你在这里写的(至少)其他两个问题是错的.我们应该把它放在别人身上:`FLAG_KEEP_SCREEN_ON`完美适用于它所描述的内容:它只是让屏幕保持开启状态.它也不需要任何许可才能工作,也不仅仅在您的设备处于调试模式时才有效.它应该适用于每个设备,如果没有,那就是设备的故障;) (2认同)