【发布时间】:2018-04-06 02:44:53
【问题描述】:
如何防止应用程序在颤动中锁定屏幕?
是否有标志可以将其关闭或打开? Flutter SDK 会暴露这个吗?
类似keepAwake(true);
谢谢
【问题讨论】:
标签: flutter
如何防止应用程序在颤动中锁定屏幕?
是否有标志可以将其关闭或打开? Flutter SDK 会暴露这个吗?
类似keepAwake(true);
谢谢
【问题讨论】:
标签: flutter
由于@Tree提到的对screen plugin的支持已经停止并且现在存在一些问题,您可以使用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);
【讨论】:
我找到了可以完成这项工作的插件。 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" />
【讨论】:
由于@creativecreator 或可能尚未回答,您可以使用wakeLock 来保持屏幕开启。但我想添加Wakelock.enable(); 的放置位置。
这是一个代码 sn-p 我如何使用它,它对我来说很好:
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
【讨论】:
这个包做的工作 https://pub.dev/packages/wakelock
依赖于 Flutter Wakelock class。
权限 唤醒锁插件不需要任何平台上的任何权限。 这是因为它只启用屏幕唤醒锁,而不是任何可以让应用在后台保持活动的部分 (CPU) 唤醒锁。
如何使用?
// to enable the Android and iOS wakelock
Wakelock.enable();
// to disables the wakelock again.
Wakelock.disable();
import 'package:flutter/material.dart';
import 'package:wakelock/wakelock.dart';
void main() {
runApp( MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
Wakelock.enable(); // Here :)
return MaterialApp(
home: MyHomePage(),
);
}
}
注意??♂️:你必须停止并再次运行
【讨论】: