如何让应用程序保持清醒?

时间:2018-04-06 02:44:53

标签: flutter

如何防止应用程序锁定屏幕?

是否有一个标志可以将其关闭? flutter SDK是否公开了这个?

keepAwake(true);

这样的东西

谢谢

3 个答案:

答案 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);

Learn more.

答案 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