以X量的时差运行2种方法?

时间:2018-12-07 10:04:57

标签: java android multithreading

我有一个麦克风,我想激活5秒钟,然后获取该数据。活动线程仍在运行时。

方法1:是激活麦克风。

方法2:用于从文件中收集.amr / .mp3输出。

这只会发生一次。

我希望我的活动在开始时调用方法1,然后在X时刻(或5秒)后调用方法1,它应该调用其他方法。我可以通过使用2个按钮来手动执行此操作,一个用于记录,另一个用于保存文件。但是我无法自动执行此操作。

先谢谢了。

2 个答案:

答案 0 :(得分:1)

也许像这样:

firstMethodCall();
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
    secondMethodCall();
}
}, 5000);

或更佳:

firstMethodCall();
new Timer().schedule(new TimerTask() {          
@Override
public void run() {
    secondMethodCall();       
}
}, 5000);

答案 1 :(得分:0)

  1. 创建一个线程。
  2. 调用第一个方法Thread.sleep()一段时间
  3. 然后调用第二种方法。

示例:

    Thread thread=new Thread(){
        public void run(){
            firstMethod();
            Thread.sleep(time);
            secondMethod();
        }
    };

    //on button click
    thread.start();