我正在为我的学校开发一个简单的应用程序,它将向您显示网站的最新更新,但在 AIR 中检查互联网连接似乎有点问题。
我会更具体:
我正在使用 Adobe Flash CS6 开发应用程序(使用 AIR for android)
该应用程序包含一个菜单和“互联网框架”,其中的代码实际上不起作用。
我已经尝试了一些东西:URLMonitor(比如 available = true)、URLLoader(如果在没有互联网连接时发生 IOError,则将其写入)和类似 HTMLLoader 的东西(很久以前 :P , 没有成功)
URLLoader 工作“正常”,但我还需要知道当有 Activity 的互联网连接时网页是否不可用 (404),但在任何一种情况下它都会抛出相同的“流错误”,所以我可以区分它们。这就是为什么它不适合我的需求。
URLMonitor 也“正常”工作,但问题来了:
在模拟器上测试应用程序时,它可以毫无问题地检测到没有互联网连接。但是,当导出到 .apk 并在我的 Android 设备上运行时,它无法成功检测到互联网连接。
这是我的代码:
var monitor:URLMonitor = new URLMonitor(new URLRequest("http://www.google.nl"));
monitor.addEventListener(StatusEvent.STATUS, netConnectivity);
monitor.start();
function netConnectivity(e:StatusEvent):void
{
if(e.target.available)
{
//checking the content
output_txt.text += "\ninternet available";
loader = new URLLoader(new URLRequest(webURL));
loader.addEventListener(IOErrorEvent.IO_ERROR, onIOErrorLoader);
loader.addEventListener(Event.COMPLETE, onCompleteLoader);
}
else
{
//
//
// NO INTERNET CONNECTION AVAILABLE!
//
//
output_txt.text += "\nno internet available";
popupnoconnection_mc.alpha = 100;
popupnoconnection_mc.play();
popupnoconnection_mc.addEventListener(MouseEvent.MOUSE_DOWN, BackToMenu);
}
monitor.stop();
}
如您所见,它向 URLMonitor 添加了一个 EventListener,开始检查,该函数检查 Internet 连接的可用性。在模拟器上运行,但在我的设备上运行不正常。
更有趣的是: 在我的设备上起作用的是当互联网连接时。它只会在我的输出字段中显示文本,但在没有互联网连接时不会! 此外,当在设置互联网连接的情况下启动应用程序,然后进入此框架,然后返回主菜单,然后关闭互联网,然后再次进入此框架时,这段代码突然变得很棒!
所以它必须在创建 URLMonitor 时做一些事情,并在我猜想的同一帧检查连接,但我在这里需要一点帮助!
我觉得这不会太难!
非常感谢您! (抱歉打字错误)
最佳答案
您可以使用 NetworkInfo检测是否有互联网连接 - 它适用于 Android。
关于android - AIR for Android 检查互联网连接问题 (actionscript 3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14364647/