如何防止应用程序锁定屏幕?
是否有一个标志可以将其关闭? flutter SDK是否公开了这个?
像keepAwake(true);
谢谢
答案 0 :(得分:19)
我找到了完成这项工作的插件。 https://pub.dartlang.org/packages/screen
import 'package:screen/screen.dart';
// Prevent screen from going into sleep mode:
Screen.keepOn(true);
您还需要为android
设置权限<uses-permission android:name="android.permission.WAKE_LOCK" />
答案 1 :(得分:3)
由于对screen plugin中提到的@Tree的支持已经停止,并且现在存在一些问题,您可以使用 wakelock
。
完整披露:我是该插件的作者,但是,它基本上是screen
插件的唤醒锁功能的一部分,已解决了以下问题:
import 'package:wakelock/wakelock.dart';
// To keep the screen on:
Wakelock.enable(); // or Wakelock.toggle(on: true);
// To let the screen turn off again:
Wakelock.disable(); // or Wakelock.toggle(on: false);
答案 2 :(得分:2)
由于@creativecreatorormaybenot 已经回答了,您可以使用wakeLock 来保持屏幕开启。但我想添加放置 Wakelock.enable();
的位置。
这是我如何使用它的代码片段,它对我来说很好用:
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
Wakelock.enable();
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MainScreen()
);
}
}
希望它能解决您的问题。这是包的链接:https://pub.dev/packages/wakelock