NetworkInfo for iOS
我在Android上使用 flash.net.NetworkInfo 实现了socket连接在网络状态改变时的自动重连机制,但却发现在iOS设备上不支持 flash.net.NetworkInfo 。
Adobe的 API文档 中说,NetworkInfo需要 AIR Profile Support 支持,我在该文档中找到 mobileDevice Profile ,发现 NetworkInfo 一栏的值为 Check ,也就是说,必须由开发者使用 NetworkInfo.isSupported 来检测设备是否支持 NetworkInfo。
悲催的是,iOS设备的 NetworkInfo.isSupported 是 false !这就意味着,不能使用 flash.net.NetworkInfo 来获取iOS设备的网络状态。
Adobe AIR Developer Center 中提供了一个iOS的原生插件 NetworkInfo native extension sample 来实现获取iOS设备中的网络状态。该文章中直接提供了ANE包的下载,可以直接在Windows环境下使用。
该插件实现了三个类:
1com.adobe.nativeExtensions.Networkinfo.InterfaceAddress;
2com.adobe.nativeExtensions.Networkinfo.NetworkInfo;
3com.adobe.nativeExtensions.Networkinfo.NetworkInterface;
名称与 flash.net 下的类相同,但包不同,因此使用的时候要注意包的区别。
这个插件的功能并不完整。因为 flash.net.NetworkInfo 支持网络状态变更通知 (flash.events.Event.NETWORK_CHANGE) ,但该插件不支持。
如果希望在一个项目中同时兼容 Android 和 iOS 的网络状态,这篇文章提供了一些思路: Getting NetworkInfo from both Android and iOS
- 文章ID:1644
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/networkinfo_fo_ios/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。