Air で別のアプリから 1 つのアプリを開く方法はありますか? 例: クリックするとアプリ B を開くボタンを含むアプリ A を開きます。A と B の両方がデバイスにインストールされた別個のアプリであり、このデバイスが PlayBook、Ipad、または Android タブレットである可能性があるとします。
ありがとう。
Air で別のアプリから 1 つのアプリを開く方法はありますか? 例: クリックするとアプリ B を開くボタンを含むアプリ A を開きます。A と B の両方がデバイスにインストールされた別個のアプリであり、このデバイスが PlayBook、Ipad、または Android タブレットである可能性があるとします。
ありがとう。
Air Native Extension (ANE) ルートに移動する必要があります。iOS と Android のそれぞれに 1 つの ANE ソリューションを作成するか、機能を 1 つのソリューションに抽出する 1 つの ANE を作成します。Android でアプリ B からアプリ A を起動する方法は、iOS とは異なります。SOでこの回答を参照してください。
これを Android に実装するには、ネイティブの Android Java ソリューションを ANE にラップします。ネイティブ Java コードは、アプリ B のパッケージ名を使用して、アプリ A からアプリ B を起動します。
Intent intent = getPackageManager().getLaunchIntentForPackage("com.yourdoman.yourapp");
startActivity(intent);
これは、ANE を作成するために構築できる ANE を介してアクティビティを起動する方法に関するビデオ チュートリアルです。アクティビティではなくドメインで起動するようにソリューションを調整する必要があります。
あなたがやろうとしていることの詳細が本当にわからないので、ここを教えてあげるべきだと思います: http://www.riaspace.com/2011/08/defining-custom-url-schemes-for-your -air-mobile-applications/ 知っている質問に対するベストアンサーです。
private function getHostName() : void
{
if (NativeProcess.isSupported)
{
var OS : String = Capabilities.os.toLocaleLowerCase();
var file : File;
if (OS.indexOf('win') > -1)
{
// Executable in windows
file = new File('C:\\Windows\\System32\\hostname.exe');
}
else if (OS.indexOf('mac') > -1 )
{
// Executable in mac
}
else if (OS.indexOf('linux'))
{
// Executable in linux
}
var nativeProcessStartupInfo : NativeProcessStartupInfo = new NativeProcessStartupInfo();
nativeProcessStartupInfo.executable = file;
var process : NativeProcess = new NativeProcess();
process.addEventListener(NativeProcessExitEvent.EXIT, onExitError);
process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutput);
process.start(nativeProcessStartupInfo);
process.closeInput();
}
}
private function onOutput(event : ProgressEvent) : void
{
var strHelper : StringHelper = new StringHelper();
formStationID.text = event.target.standardOutput.readUTFBytes(event.target.standardOutput.bytesAvailable);
formStationID.text = strHelper.trimBack(formStationID.text, "\n");
formStationID.text = strHelper.trimBack(formStationID.text, "\r");
}
このコードは、ワークステーション名を取得します。これは IOS と Android で実行できると聞いたことがありますが、その証拠はまだ見つかっていません。