AIR 1.0, Flash Player 9에서부터 지원하는 flash.net.navigateURL은 웹브라우저나 응용 프로그램을 열거나
교체할 때 사용한다. AIR 기반에선 기본적으로 시스템 웹브라우저를 호출하며, Android / iOS 기반에선
관련 Native를 호출할때 사용할 수 있다.
Android 스마트폰 기준에서 호출할 수 있는 범위는 다음과 같다.
- 이메일 (mailto)
- SMS 문자 메세지 (sms)
- 전화 (tel)
navigateURL을 사용하면 위에서 언급한 Native를 호출하여 이메일, SMS, 전화걸기 화면으로
바로 진입할 수 있게된다.
코드를 간단하게 살펴보면...
(화면상에 email, sms, call 이라는 3개의 버튼이 있다고 가정)
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.net.navigateURL;
import flash.display.MovieClip;
// URL
var dataArr : Array = new Array (
'mailto:q3korea@naver.com',
'sms:0101234567',
'tel:0101234567'
);
// event init
for (var i : int = 0; i < dataArr.length; ++i)
{
var btn : MovieClip = this ['btn' + i];
btn.addEventListener (MouseEvent.MOUSE_DOWN, downEvent);
btn.addEventListener (MouseEvent.MOUSE_UP, upEvent);
}
// down
function downEvent (e : MouseEvent) : void
{
e.currentTarget.alpha = .5;
}
// up
function upEvent (e : MouseEvent) : void
{
var num : int = int (e.currentTarget.name.toString ().charAt (3));
var str : String = dataArr [num];
var req : URLRequest = new URLRequest (str);
navigateToURL (req); // native 호출
e.currentTarget.alpha = 1;
}
Flash 구동중에 특정상황에서 이메일, SMS, 전화걸기 화면으로 진입해야 하는경우 navigateURL을 사용하면 되므로