2011-09-18 28 views
0

我試圖開始本機記錄活動,語音記錄器顯示並保存剪輯時,我的應用程序顯示錯誤。我使用的HTC Desire和HTC野火還對測試模擬器,無法使用意向從本地語音記錄器獲得結果

  Intent intent = new Intent(MediaStore.Audio.Media.RECORD_SOUND_ACTION); 
        startActivityForResult(intent, GET_AUDIO); 


     @Override 
     protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 

     switch (requestCode) { 
    case GET_AUDIO: 
    Log.i(TAG, data.getDataString()); 
    break; 
} 
} 

我logcat的消息

09-18 15:18:35.015: ERROR/ContentService(98): Content Service Crash 
09-18 15:18:35.015: ERROR/ContentService(98): java.lang.NullPointerException 
09-18 15:18:35.015: ERROR/ContentService(98):  at android.content.ContentService.notifyChange(ContentService.java:166) 
09-18 15:18:35.015: ERROR/ContentService(98):  at android.content.IContentService$Stub.onTransact(IContentService.java:91) 
09-18 15:18:35.015: ERROR/ContentService(98):  at android.content.ContentService.onTransact(ContentService.java:83) 
09-18 15:18:35.015: ERROR/ContentService(98):  at android.os.Binder.execTransact(Binder.java:288) 
09-18 15:18:35.015: ERROR/ContentService(98):  at dalvik.system.NativeStart.run(Native Method) 



09-18 15:18:35.245: ERROR/AndroidRuntime(4477): FATAL EXCEPTION: main 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=Intent { dat=content://media/external/audio/media/9 }} to activity {ChatActivity}: java.lang.NullPointerException 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at android.app.ActivityThread.deliverResults(ActivityThread.java:3712) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at android.app.ActivityThread.handleSendResult(ActivityThread.java:3754) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at android.app.ActivityThread.access$2800(ActivityThread.java:135) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2162) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at android.os.Handler.dispatchMessage(Handler.java:99) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at android.os.Looper.loop(Looper.java:143) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at android.app.ActivityThread.main(ActivityThread.java:4914) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at java.lang.reflect.Method.invokeNative(Native Method) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at java.lang.reflect.Method.invoke(Method.java:521) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at dalvik.system.NativeStart.main(Native Method) 




09-18 15:18:35.245: ERROR/AndroidRuntime(4477): Caused by: java.lang.NullPointerException 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at android.os.Parcel.readException(Parcel.java:1253) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at android.os.Parcel.readException(Parcel.java:1235) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at android.content.IContentService$Stub$Proxy.notifyChange(IContentService.java:458) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at android.content.ContentResolver.notifyChange(ContentResolver.java:850) 
09-18 15:18:35.245: ERROR/AndroidRuntime(4477):  at android.content.ContentResolver.notifyChange(ContentResolver.java:836) 

回答

0

好像在你的onActivityResult空指針異常。

您必須期望數據可能爲空,並檢查resultCode。不要盲目地調用數據方法而不檢查返回的內容。

+0

好吧,我需要獲取錄音機剛剛錄製的文件的路徑。 – ozmank

+0

我確實記錄了語音,所以它應該返回我的文件路徑,我相信文件路徑不能爲null,因爲它只是將文件存儲在SD卡上,我可以看到。 – ozmank