Разработка Flash Air iOS: возможно ли запустить браузер из ваших приложений? - PullRequest
3 голосов
/ 14 февраля 2012

Я использую Flash Air для разработки игр для iOS.Было бы неплохо иметь возможность запускать браузер из ваших приложений.Любые идеи будут оценены !!

Ответы [ 3 ]

3 голосов
/ 24 апреля 2012

Вы можете использовать StageWebView , чтобы открыть веб-страницу в приложении AIR.

Ниже приведен пример использования для открытия страницы в правой половине экрана (он же этап):

private var _web_view:StageWebView;
private function init_stagewebview(url:String):void 
{
  if (_web_view) {
    throw new Error('init_stagewebview() called with existing _web_view - you must call cleanup first');
  }
  _web_view = new StageWebView();
  var stage:Stage = NativeApplication.nativeApplication.activeWindow.stage;
  _web_view.stage = stage;
  _web_view.viewPort = new Rectangle(stage.stageWidth/2,0,stage.stageWidth/2, stage.stageHeight);
  _web_view.addEventListener(ErrorEvent.ERROR, handle_error);
  _web_view.addEventListener(IOErrorEvent.IO_ERROR, handle_error);
  _web_view.addEventListener(SecurityErrorEvent.SECURITY_ERROR, handle_error); 
  _web_view.addEventListener(LocationChangeEvent.LOCATION_CHANGING, handle_loc_change);
  _web_view.loadURL(url);
}

private function handle_loc_change(e:LocationChangeEvent=null):void 
{ 
  if (e) {
    var loc:String = e.location;
    trace(" -- webView location changed to: "+loc);

    // Disable the navigation if you want to (this is a common
    // way of passing data from web to AIR):
    // e.preventDefault();
  }
}

private function cleanup_web_view():void 
{
  if (_web_view == null) return;
  _web_view.removeEventListener(ErrorEvent.ERROR, handle_error);
  _web_view.removeEventListener(IOErrorEvent.IO_ERROR, handle_error);
  _web_view.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, handle_error);
  _web_view.removeEventListener(LocationChangeEvent.LOCATION_CHANGING, handle_loc_change);
  _web_view.viewPort = null;
  _web_view.dispose();
  _web_view = null;
}

private function handle_error(e:ErrorEvent):void 
{ 
  if (e) trace("- - - - webView Error:" + e.toString());
}
2 голосов
/ 14 февраля 2012

Вызов navigateToURL() ( документы ) из приложения AIR запускает приложение системного браузера по указанному вами URL-адресу (оставляя ваше приложение в фоновом режиме):

import flash.net.navigateToURL;
import flash.net.URLRequest;

navigateToURL(new URLRequest("http://google.com"), "_blank");
0 голосов
/ 14 февраля 2012

Как насчет использования определенного класса AIR HTMLControl?Насколько я понимаю, вы хотите включить веб-навигацию с частью вашего экранного приложения.

http://www.mikechambers.com/blog/2007/11/09/using-the-htmlcontrol-in-adobe-air-to-parse-html-as-a-data-source/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...