来自同一个SO post,提到screen plugin遇到了一些问题。我检查了插件,它似乎自 2019 年 3 月 13 日以来没有更新。另一个可以提供您需要的相同功能的插件是 wakelock plugin。它目前仍由作者维护。事实上,最新版本 0.5.0+2 于 2021 年 3 月 7 日发布。
嗨,我仍在维护它 :) 我们最近添加了 macOS 支持作为
? 另外,Flutter 是开源的——他们有第一方插件,
然而,他们确实说他们自己会放弃他们的
如果存在更好的第三方项目,则提供第一方解决方案。所以为什么
他们会想为完美运行的东西创建一个吗?
– 创意创造者或可能不是 2 月 8 日 16:17
我已经测试了wakelock package中给出的样本:
import 'package:flutter/material.dart';
import 'package:wakelock/wakelock.dart';
void main() {
runApp(WakelockExampleApp());
}
class WakelockExampleApp extends StatefulWidget {
@override
_WakelockExampleAppState createState() => _WakelockExampleAppState();
}
class _WakelockExampleAppState extends State<WakelockExampleApp> {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('Wakelock example app'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: <Widget>[
const Spacer(
flex: 3,
),
OutlinedButton(
onPressed: () {
setState(() {
Wakelock.enable();
});
},
child: const Text('enable wakelock'),
),
const Spacer(),
OutlinedButton(
onPressed: () {
setState(() {
Wakelock.disable();
});
},
child: const Text('disable wakelock'),
),
const Spacer(
flex: 2,
),
FutureBuilder(
future: Wakelock.enabled,
builder: (context, AsyncSnapshot<bool> snapshot) {
final data = snapshot.data;
if (data == null) {
return Container();
}
return Text('The wakelock is currently '
'${data ? 'enabled' : 'disabled'}.');
},
),
const Spacer(
flex: 3,
),
],
),
),
),
);
}
}
这是 Android 中的输出:
iOS 中的输出:
此外,您似乎已经解决了代码中的上一个问题。很高兴分享a minimal, complete and verifiable example 让社区更好地了解这个问题。