1

以下のように、プログラムで他のアプリからアプリを呼び出しています。

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(new ComponentName(packageString,classApp));
mActivity.startActivity(intent, 2);

Intent アプリの実行が完了して閉じるまで待ちたかったのです。

startActivityForResult(intent,2) を使ってみました。しかし、実際のアクティビティ クラスで onActivityResult を呼び出していないため、この dosnt は機能しているようです。非アクティビティ クラスで Intent を呼び出しています。

4

2 に答える 2

1

Intent アプリの実行が完了して閉じるまで待ちたかったのです。

それは不可能です。特に新しいタスクでそのアクティビティを開始しているため、「アプリの実行が完了して閉じられた」ことを知る方法はありません。例えば:

  • あなたは他の活動を開始します。
  • ユーザーが RECENTS を押して、概要画面からアプリに戻ります。
  • それで?ユーザーは、他のアプリを「完了して閉じる」ために何もする必要はありません。

のようなライフサイクル メソッドを使用しonStart()て、制御が戻っていることを確認できますが、それは「アプリの実行が完了して閉じられた」ことを意味するものではありません。

于 2016-06-30T14:06:59.147 に答える