アクティビティが2つあります(AとB)。アクティビティで別のアクティビティを停止できません。
Aが意図と要求コードとB呼び出し - AIに
finishActivity(123);
finish(); // finish itself
をしたので、後で私は、Bを停止してから自分自身にしたい...
startActivityForResult(i,123);
を...しかし、 Bは止まらない!しかし、onStopとonDestroyのすべてでブレークポイントを設定し、デバッガでステップバイステップを実行すると、すべてが完全に動作し、両方のアクティビティが終了します。 (これはタイミングや競合状態を示唆している)
しかし、私はコメントを出した場合にAの仕上げ()を...
finishActivity(123);
// finish(); // finish itself
Bが終了していますが、その仕上がりが奪われているので、Aにはありません。 1つのアクティビティで作成した別のアクティビティを完成させ、それを完成させる正しい方法は何ですか?
ありがとうございます。
結果のためにBを開始するのであれば、なぜそれ自体を終了させ、その結果をAに送り返したくないのですか?タイミングについて正しい場合は、runnableとpostDelayedを使用して、finsh()を0.5秒遅らせるか、必要なものを – FoamyGuy
からfinishActivity(123)を使用してAのインスタンスを保存してみてください(推奨されません。 )を呼び出し、B内のメソッドを呼び出して閉じます。その結果、 – L7ColWinters
というonActivityResultを取得します。これは、Android搭載デバイスがPCベースの産業プロセス用のリモートコントロールである産業用アプリケーション向けです。 PC上のメッセージは、PCとAndroidデバイスの両方に表示され、ユーザーはどちらかから対話または却下できます。私が記述しているのは、メッセージがPC上で処理された場所で、Androidデバイスがそれを却下する必要があるためです。 – user316117