私の Android アプリは、ステート マシンのように一連のイベントを実行する必要があります。
イベント 1: ビデオ # 1 を再生
イベント 2: 画像を読み込み、ボタンが押されるのを待つ
イベント 3: ビデオ #2 を再生する
等...
1 つの方法は、イベントごとに個別のアクティビティを生成することですが、イベントが 20 を超えているため、もっと簡単な方法があると思いました。
そこで、ステート マシンを次のようにコーディングしました。
    int mState = 0;     
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //
    switch(mState) {
    case 0:
        Boolean flag = videoIntent(url0); 
        break;
    case 1:
        flag = loadImage(img1);
    }
    }
public Boolean videoIntent(String video) {
     mBundle.putString("url",video ); 
     Intent myIntent = new Intent();
     myIntent.putExtras(mBundle);
         myIntent.setClass(mySM.this, SM_vPlayer.class);
         startActivity(myIntent);
             mState ++;
    return true;     
 }
public Boolean loadImage(String image) {
    //load image
            mState ++;
    return true;
}
質問: ビデオを再生するインテントを開始した後 (そのアクティビティには完了を待機するリスナーがあります)、finish() が呼び出されます。
- finish() はどこで onCreate、onResume、または別のメソッドに戻りますか? 
- switch ステートメントに戻るにはどうすればよいですか? 
- これを行うより良い方法はありますか?