我正在为我的学校开发一个简单的应用程序,它会向您显示网站的最新更新,但检查互联网连接似乎是AIR中的一个小问题。AIR for Android检查互联网连接问题(动作3)
我会更具体:
我使用的Adobe Flash CS6开发应用程序(使用Android的AIR)
该应用程序包含一个菜单,以及“互联网框架“,其中的代码没有真正的工作。我已经尝试了一些东西:URLMonitor(如可用= true),URLLoader(如果它没有互联网连接时发生IOError)和类似HTMLLoader(很久以前:P,没有成功)
该URLLoader工程“很好”,但我也需要知道,如果网页只是不可用(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,开始检查和功能检查互联网连接的可用性。在仿真器上工作,不适合在我的设备上工作。
更有意思的是: 什么是我的设备上工作,是当互联网连接。它只会显示我的输出字段中的文本,但不会在没有Internet连接时显示! 此外,当设置互联网连接启动应用程序,然后进入这个框架,然后回到主菜单,然后关闭互联网,然后再次进入这个框架,这个代码突然很好的工作!
所以它必须做一些创建URLMonitor,并在同一帧检查连接,我想,但我需要一个小手在这里!
我觉得这不能太难!
非常感谢你提前! (对不起,错别字)
URLMonitor并不复杂。它通过定期尝试访问URL来工作。似乎可以想象,移动设备在知道没有连接时可以规避这种机制。由于它依赖于HTTP请求失败,所以当没有连接时,设备根本没有任何http请求。 –
谢谢,我只会追查“没有互联网连接?!”如果尝试访问该页面的时间太长,则向用户提供。再次感谢您的时间 – Niessie9