Flutter唤醒锁包不允许应用程序进入睡眠模式

问题描述 投票:0回答:2

我正在使用最新版本的 Flutter 构建一个应用程序。我一直在使用真实的 iOS 设备进行测试,每当我使用应用程序时,我的物理设备都不会因不活动而进入睡眠模式。我将物理设备上的设置设置为在 30 秒内休眠。我尝试过使用 pub.dev (https://pub.dev/packages/wakelock) 中的这个包,但无论如何我的应用程序仍然保持打开状态。代码比较简单如:

await Wakelock.disable();
print(await Wakelock.enabled);
// returns false (device should allow sleep mode)

我本以为我什至不需要软件包,默认情况下将允许设备进入睡眠模式。有没有人遇到过这个问题并解决了?

ios flutter dart wakelock
2个回答
3
投票

我是 wakelock 包的作者。

由于此类问题通常应该是 GitHub 问题而不是 StackOverflow 问题,因此我会为此写一个答案而不是简短评论:)


设备应该正常进入睡眠状态吗?

是的,应该的。它通常会进入睡眠状态。

我在这里看到两个选项:

  • 您的设备上的某些设置不正确,或者正在运行某些其他服务。
  • 您在禁用它后的某个时刻调用
    Wakelock.enable
    ,这会导致您的设备无法进入睡眠状态。

如何解决问题

我无法准确告诉您发生了什么,因为您的描述不应该如此。

您可以执行以下操作:测试一个根本不使用

wakelock
的应用程序,看看它是否会进入睡眠状态。如果是,您可以尝试查看您在哪里调用
Wakelock.enable
并调试它以确保它根本没有被调用。


之后,如果您有更多信息,请在 GitHub 上打开问题。请确保在此之前打开其他应用程序时您的设备可以进入睡眠状态。


0
投票

在物理 iPhone 上以调试模式运行 Flutter 应用程序时,我看到了类似的行为。

但是,如果我在发布模式(--release)下运行,设备会在应该的时候进入睡眠状态。

我正在使用 WakelockPlus 来启用/禁用睡眠,这也能正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.