Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用FLAG_keep_screen_on在颤振中保持屏幕打开?_Android_Flutter - Fatal编程技术网

Android 如何使用FLAG_keep_screen_on在颤振中保持屏幕打开?

Android 如何使用FLAG_keep_screen_on在颤振中保持屏幕打开?,android,flutter,Android,Flutter,我一直在努力研究如何在我正在开发的应用程序中保持屏幕打开。网上有很多关于这方面的信息,但我还没有找到任何特定于颤振的信息。我找到了很多关于使用wakelocks的帖子,但当我尝试使用wakelocks时,我的应用程序总是在启动时崩溃。不过我还是不想用wakelocks 我找到的信息告诉我将以下内容放入MainActivity.java中 getWindow().addFlags(WindowManager.LayoutParams.FLAG\u保持屏幕打开) 当我这样做时,应用程序将不会编译,因

我一直在努力研究如何在我正在开发的应用程序中保持屏幕打开。网上有很多关于这方面的信息,但我还没有找到任何特定于颤振的信息。我找到了很多关于使用wakelocks的帖子,但当我尝试使用wakelocks时,我的应用程序总是在启动时崩溃。不过我还是不想用wakelocks

我找到的信息告诉我将以下内容放入MainActivity.java中

getWindow().addFlags(WindowManager.LayoutParams.FLAG\u保持屏幕打开)

当我这样做时,应用程序将不会编译,因为它有错误

包WindowManager不存在 getWindow().addFlags(WindowManager.LayoutParams.FLAG\u保持屏幕打开); ^
1错误

失败:生成失败,出现异常

这是我在MainActivity.java中的代码

import android.os.Bundle;
import io.flutter.app.FlutterActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;

public class MainActivity extends FlutterActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  GeneratedPluginRegistrant.registerWith(this);
}
对我遗漏的东西有什么建议吗

编辑:我能让FLAG_KEEP_SCREEN_继续工作。我需要在MainActivity.java中导入android.view.WindowManager。这就是代码现在的样子:

import android.os.Bundle;
import android.view.WindowManager; //Needed for not letting screen shut off.
import io.flutter.app.FlutterActivity;
import io.flutter.plugins.GeneratedPluginRegistrant;

public class MainActivity extends FlutterActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GeneratedPluginRegistrant.registerWith(this);

    //Do not let screen shut off.
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  }
}

我尝试使用android:keepScreenOn=“true”,但无法确定将其放在我的文件中的位置。

我认为您可以使用android:keepScreenOn=“true”。请看一看


...

我试了一下。我无法准确地确定将它放在哪里,但尝试了使用类似XML的各种地方。它不会编译。如果我能让它运行的话,这似乎是最好的解决方案。把它放在活动的xml文件的父/根元素中。请参阅我提供的示例并阅读文档。
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true">
...