如何在onCreate()和onResume()方法中调用相同的函数?

时间:2013-03-23 20:40:56

标签: java android activity-lifecycle

我想在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();
}

1 个答案:

答案 0 :(得分:1)

只需将要运行的内容放在onResume()中即可。 onResume()将在onCreate()之后第一次被调用,然后每次应用程序退出后台时都会调用它。

活动生命周期可以在这里找到(视觉上):

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

enter image description here