0

URLLoader 未在 Android Mobile 上调度 Event.COMPLETE 事件,尽管它在 Flash Builder 移动调试中正常工作。代码片段如下:

private function loadAlbumData():void
{
 var request:URLRequest = new URLRequest("https://picasaweb.google.com/data/feed/api/user/default");
    var urlloader:URLLoader = new URLLoader();
  urlloader.addEventListener(Event.COMPLETE, onLoadComplete);
  urlloader.load(request); 

}

private function onLoadComplete(evt:Event):void
{

   trace(evt.currentTarget.data);
}

在这里,我从 Google 的 Picasa 服务请求专辑 XML。

4

1 回答 1

0

从那个 XML 页面的外观来看,它正在提取与我相关的数据。最好的猜测是它依赖于登录谷歌来确定用户是谁。如果用户没有 Google cookie(通过退出 Google 进行测试),它会返回“需要授权”,这可能会作为 HTTP 状态错误而不是实际页面返回。因为应用程序是沙盒的,所以如果没有明确要求,cookies 不会在应用程序甚至系统之间共享(这可能需要 ANE)

在这种情况下,您有两个选择:

  1. 弄清楚如何允许用户登录 Google、保存 cookie 并将其发送到请求中。我从未在 Flash 中处理过 cookie,所以我无法在这里为您提供帮助
  2. 使用https://picasaweb.google.com/data/feed/api/user/USERNAMEHERE其中 USERNAMEHERE 是您要从中提取数据的帐户的用户名。

显然解决方案取决于这个特性的实现,所以我不会推荐使用哪一个。但这绝对是你的问题。

于 2013-04-22T16:28:53.950 回答