0

私はこのプログラムを持っています

public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);        
       record();
       play();          
    }
}

私がそれを実行したとき、それは

1)私の声を録音する

2)自分の声を再生する

3) デフォルトの XML ファイルから「Hello World, MyActiviy」を表示します。

ホームボタンを押してからプログラムを再起動すると、音声を録音して再生せずに #3 の単語が表示されます

設定に移動してバックグラウンドでプログラムを強制的に停止した場合にのみ、プログラムは正しく実行されます。

私の質問は、プログラムを正しく終了して、#1 から #3 のシーケンスを正しく実行する方法ですか?

4

1 に答える 1

0

これは、アクティビティがバックグラウンドになったときに破棄されず、その結果、onCreate()アクティビティが再びフォーカスされたときにメソッドが呼び出されないためです。

onResume()アクティビティがフォアグラウンドになるたびにコードを実行したい場合は、コードをメソッドに移動する必要があります。

詳細については、アクティビティのライフサイクル図を参照してください。

于 2013-03-03T18:38:02.403 に答える