android致命异常Timer-0

时间:2014-08-20 12:04:30

标签: android runnable schedule

我需要一个计时器用于我的程序。在我的Android应用程序中我使用计时器计划。但是如下所示得到Timer-0致命异常。我做错了什么?

logcat的

      08-20 20:18:29.246: E/AndroidRuntime(25999): FATAL EXCEPTION: Timer-0
      08-20 20:18:29.246: E/AndroidRuntime(25999): Process: com.example.ancam, PID: 25999
      08-20 20:18:29.246: E/AndroidRuntime(25999): java.lang.NullPointerException
      08-20 20:18:29.246: E/AndroidRuntime(25999):  at com.example.ancam.MainActivity$1.run(MainActivity.java:191)
      08-20 20:18:29.246: E/AndroidRuntime(25999):  at java.util.Timer$TimerImpl.run(Timer.java:284)

Java代码

        mTimer.schedule( new TimerTask(){

            @Override
            public void run() {



                 try{
                     mediarecorder.prepare();
                     mediarecorder.start();
                 }catch(IllegalStateException e){
                     e.printStackTrace();
                 } catch (IOException e) {
                     e.printStackTrace();
                 }
                             try{
                                 Thread.sleep(10000);
                             }catch(InterruptedException e){
                                 e.printStackTrace();
                             }

                             mediarecorder.stop();

                             new Thread(new Runnable() {
                                    public void run() {
                                         uploadFile(mm);

                                    }
                                  }).start();        
                             mediarecorder.reset();  

             }
        }, 0, 500);      

1 个答案:

答案 0 :(得分:1)

您在第191行获得空指针异常。这意味着该行上的对象为null,您尝试调用其方法。

第191行有mediarecorder.stop();和mediarecorder为空,这就是你得到这个例外的原因。

确保在使用之前初始化mediarecorder对象。

请参阅以下链接,以便正确初始化mediarecorder。

http://developer.android.com/reference/android/media/MediaRecorder.html