アプリ'A'があります。別のアプリ「B」のビデオ プレーヤーを開き、インテント URI 呼び出しを使用してビデオを再生しています。
String intentURI = "B://this/123";
try {
intent = Intent.parseUri(intentURI, Intent.URI_INTENT_SCHEME);
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
Logger.appendInfoLog("Something went wrong with B", TAG);
e.printStackTrace();
Logger.appendErrorLog(e.getMessage(), TAG);
finish();
}
startActivity(intent);
これが機能するために必要な条件は、アプリ「B」がバックグラウンドで開いていることです。アプリが閉じている (Android または手動で強制終了された) か、クラッシュした場合、エラーがスローされます。
そのアプリ「B」を最初に開くか、その実行ステータスを確認してからインテント URI 呼び出しを行う方法はありますか。そのアプリから制御を取り戻すことはできません。他のアプリに移動すると、ユーザーが戻るボタンを押してアプリに戻るまで制御できません。
アップデート:
最初にアプリ 'B' を起動してから、プログラムでインテントを呼び出したいと考えています。これは可能ですか
アップデート
Catlog アプリを実行して、アプリ Bに表示されるメッセージを確認しました。ファイル 123.file (アプリ B のビデオ プレーヤーで再生しようとしているファイル) が見つかりませんが、アプリがバックグラウンドで実行されている場合は、うまくいきます。警告も表示されます
java.lang.NullPointerException: PrintLn にはメッセージが必要です
そしてそれは言います
アクティビティは表示されるが、mediaplayer.is が再生されないビデオ
また、他のアプリはフラッシュで作成され、Adobe Air のネイティブ アプリとしてパッケージ化されています。