我正在使用 Android 11 无线调试来开发我的应用。每当设备自动锁定时,需要一段时间重新建立连接以进行热重载。
为了解决这个问题,我使用了 wakelock,我只需要在我的应用处于调试模式而不是发布模式时使用它。
在 lib/main.dart
中,我有以下代码:
import 'package:flutter/foundation.dart' as Foundation;
import 'package:wakelock/wakelock.dart';
...
void main() {
if (Foundation.kDebugMode) {
Wakelock.enable();
}
runApp(App());
}
如您所见,wakelock
包仅在应用以调试模式运行时使用。
如果应用在调试模式下运行,有没有办法只导入 wakelock
?
答案 0 :(得分:2)
测试为
pubspec.yaml
dev_dependencies:
wakelock: ^0.2.1+1
用法
import 'package:flutter/foundation.dart';
import 'package:wakelock/wakelock.dart';
import 'package:flutter/material.dart';
main() async {
WidgetsFlutterBinding.ensureInitialized();
if (kDebugMode) {
print('activating wakelock in debug');
Wakelock.enable();
}
runApp(App());
}
旁注:
如果您只需要设备在一段时间后停止自我锁定,请尝试在设备本身的 Display
设置下增加睡眠延迟,或使用开发者选项中名为 Stay awake while charging
的设置允许设备在充电时永远保持开机状态。