如何调用“关闭飞行模式”通知

Posted

技术标签:

【中文标题】如何调用“关闭飞行模式”通知【英文标题】:How to invoke "Turn Off Airplane Mode" notification 【发布时间】:2012-08-14 21:12:52 【问题描述】:

在许多应用程序中,例如邮件应用程序,如果设备处于飞行模式,则会弹出一条通知,提示“关闭飞行模式或使用 Wi-Fi 访问数据”。

我认为如果我的应用程序尝试访问互联网,它会自动调用,但事实并非如此。有没有特殊的方法可以做到这一点,或者如果没有,我如何检查设备是否处于飞行模式并提供指向设置的链接以禁用它?

【问题讨论】:

【参考方案1】:

如果您将UIRequiresPersistentWifi 键添加到您的Info.plist 并将其设置为YES,那么如果您处于飞行模式,您将看到标准的“关闭飞行模式...”弹出窗口发射。

【讨论】:

自 2016 年起,UIRequiresPersistentWifi 在应用设置信息部分已更改为“应用程序使用 Wi-Fi”。【参考方案2】:

我在我的应用程序中进行测试。我发现它变了。 "UIRequiresPersistentWifi" => "应用程序使用 Wi-Fi"。 我希望它会对某人有所帮助。

【讨论】:

截至 2016 年,这似乎是这里最新的答案。【参考方案3】:

您可以在应用启动时使用苹果的可达性框架来检查网络连接。看看这个

http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html

我有一个用于reachbiltiy API 的包装类,以使其更易于使用。 (ASIHTTPRequest 也有一个)。

https://github.com/daltoniam/GPHTTPRequest

查看 GPReachablity 类以检查连接性。至于对话框提示,不确定是否有办法推送到设置应用程序。有任何问题请告诉我。

【讨论】:

有些情况下有接收但没有互联网连接,它会误报为飞行模式。如果您正在为 Apple 的市场开发 NOT,那么您可以使用私有 API:***.com/a/31583945/4260691 来获取信号强度,现在当触发事件时,您可以在 NotReachable 案例中检查信号强度。如果信号强度为零,则为 100% 飞行模式。【参考方案4】:

如果您想要标准 关闭飞行模式或使用 Wi-Fi 访问数据 [设置 |好的]

    点击顶部的+ 标志,在您的info.plist 中添加新属性。 新属性名为UIRequiresPersistentWiFi(这与上面的帖子类似,但需要准确,否则不会注册) 将类型从 String 更改为 Boolean 将值从NO 更改为YES 清理并重建您的应用

【讨论】:

【参考方案5】:

看看this。显然,Airport control was moved by Apple into a separate framework

似乎没有标准的方法来通知用户重新打开飞行模式。正如你提到的,这显然不是很优雅,所以我认为苹果删除了这个功能。

【讨论】:

那是2009年的,使用了各种后门。我怀疑真正的答案是“不可能”。 3 年来我一直在这方面遇到问题 - 我认为 Apple 欺骗了它。 我的意思是我认为这仍然有效,尽管它不是很优雅。

以上是关于如何调用“关闭飞行模式”通知的主要内容,如果未能解决你的问题,请参考以下文章

电脑飞行模式怎么关闭,飞行模式灰色默认开启,WLAN选项消失。

sim7600ce 4G模块设置飞行模式后重启模块自动关闭飞行模式,这个怎么实现重启后还是飞行模式

关闭飞行模式后,为啥 Android 应用程序会通过 Activity 和 Fragment 生命周期方法

手机用vpn怎么更改电脑ip

苹果手机显示无sim卡怎么回事?

以编程方式在 iOS 中切换 AirPlane 模式