相关疑难解决方法(0)

Android:WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON问题

我使用以下代码来保持屏幕:

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

有没有办法FLAG_KEEP_SCREEN_ON在代码中禁用/删除后面的代码?(我希望屏幕正常淡出).

谢谢!

flags android

12
推荐指数
1
解决办法
3万
查看次数

getWindow()无法在AsyncTask内部解析

我想实现的东西里面AsyncTask这样

@Override
protected void onPreExecute() {
    super.onPreExecute();
    ...
    // prevent screen sleep
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}


@Override
protected void onPostExecute(List<Result> results) {
    super.onPostExecute(results);
    getWindow().clearFlag (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    ...
}
Run Code Online (Sandbox Code Playgroud)

但是我Cannot resolve method getWindow()在Android Studio中收到错误“ ”。我想念什么?

更新资料

我的AsyncTask的构造函数是:

public MyTask(ProgressDialog pDlg) {
    progressDlgReference = new WeakReference<>(pDlg);
    progressDlg = progressDlgReference.get();
    context = progressDlg.getContext();
    ...
}
Run Code Online (Sandbox Code Playgroud)

我尝试强制转换context为,Activity但出现运行时错误((Activity) context).getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

android android-asynctask android-studio

-1
推荐指数
1
解决办法
1842
查看次数