【问题标题】:prevent iOS app from sleep but retain lock screen and screen dimming防止 iOS 应用进入睡眠状态,但保留锁屏和屏幕变暗
【发布时间】:2017-09-04 01:48:07
【问题描述】:

我的应用程序与外部附件通信,但似乎存在一个错误,即当 ios 设备从睡眠中恢复时,有时 EAAccessoryManager 列表为空。该应用程序已经在现场,我需要修复,因为目前用户必须关闭并打开外部附件才能使其再次工作。

我正在考虑阻止 iOS 设备进入睡眠状态。但是我不希望 LCD 屏幕一直亮着,因为那样会耗尽电池电量。出于安全目的,我还希望激活锁定屏幕。我有哪些选择?

顺便说一句,设备唤醒后 EAAccessoryManager 列表通常为空,用户必须输入解锁码。似乎我使用指纹就可以了,所以相信这是 iOS 10.3.3 中的错误吗?有没有人遇到过这种情况?

【问题讨论】:

    标签: ios mfi


    【解决方案1】:

    我很确定如果设备已经显示锁定屏幕,则无法阻止设备进入睡眠状态。由于锁屏是您完全无法控制的系统事物。

    不过,您或许可以通过为您的应用实施后台模式来解决您的问题。

    Apple 允许使用外部附件的应用程序在后台继续运行,这意味着您的应用程序应该能够与您的附件保持连接,执行它应该做的任何事情。

    顺便说一句,我不确定 EAAccessoryManager,但是当我使用 BLE 实现类似的东西时,我注意到如果附件已经连接到它,扫描不会将附件显示为可发现的。您确定它尚未连接,这就是它显示空列表的原因吗?

    我注意到的另一件事是,通过保存它的 UUID,我可以简单地让我的设备连接到它,而不管它是否是广告。即使设备已关闭。这将导致当设备打开时我的设备会自动连接到它(无需我发送“连接”消息)

    【讨论】:

    • 在我发布问题后立即感谢我发现将 UIBackgroundModes 设置为 external-accessory 解决了我的问题。我不确定所有外部配件是否都需要这样做,但如果有人遇到同样的问题
    【解决方案2】:

    非常感谢在我发布问题后,我发现将 UIBackgroundModes 设置为 external-accessory 可以解决问题并解决我的问题。我不确定所有外部配件是否都需要这样做,但以防有人遇到同样的问题。

    必须注意的是,我的应用实际上并不需要在后台使用外部设备,但至少这解决了问题,并且屏幕变暗,屏幕锁定如预期。

    【讨论】:

    • 原来在 iOS 10.x 中有一个错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    相关资源
    最近更新 更多