0

onCreate()とで同じ関数を実行したいonResume()。機能は基本的に10秒で録音し、録音した音を止めて再生します。

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

    new CountDownTimer(
            10000, // 10 second countdown
            9999) { // onTick time, not used

        public void onTick(long millisUntilFinished) {
            // Not used
        }

        public void onFinish() {
            isRecording = false;
        }
    }.start();

    Thread thread = new Thread(new Runnable() {

        public void run() {
            isRecording = true;
            record(); // starts to record
        }
    });
    thread.start(); // thread start
    // thread to start

    play();
}

ボタンをHome押すと、アプリがバックグラウンドになります。ここで、アプリのアイコンボタンをもう一度押すと、同じ録音および再生機能を呼び出したいと思います。

このようなことをでできますonResume()か?基本的に同じものを複製します。

public void onResume() {
    super.onResume();

    new CountDownTimer(
            10000, // 10 second countdown
            9999) { // onTick time, not used 

        public void onTick(long millisUntilFinished) {
            // Not used
        }

        public void onFinish() {
            isRecording = false;
        }
    }.start();

    Thread thread = new Thread(new Runnable() {

        public void run() {
            isRecording = true;
            record(); // starts to record
        }
    });
    thread.start(); // thread start

    play();
}
4

1 に答える 1

1

実行したいものを onResume() に入れるだけです。onResume() は onCreate() の後に初めて呼び出され、その後アプリケーションがバックグラウンドから出るたびに呼び出されます。

アクティビティのライフサイクルは (視覚的に) ここにあります。

http://developer.android.com/reference/android/app/Activity.html

ここに画像の説明を入力

于 2013-03-23T22:00:01.817 に答える