1. 程式人生 > >訊飛語音空指標錯誤

訊飛語音空指標錯誤

使用訊飛sdk使出現了RecognizerDialog空指標異常錯誤如下

  java.lang.NullPointerException
      at com.iflytek.cloud.ui.a.a(Unknown Source)
      at com.iflytek.cloud.ui.RecognizerDialog.setParameter(Unknown Source)
      at com.example.mediaplayer.activity.SearchActivity.setParam(SearchActivity.java:111)
      at com
.example.mediaplayer.activity.SearchActivity.onClick(SearchActivity.java:86) at android.view.View.performClick(View.java:4438) at android.view.View$PerformClick.run(View.java:18422) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java
:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5045) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run
(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method)

折騰半個小時最後發現是AppID的問題
在Application初始化時把“=”刪掉了

SpeechUtility.createUtility(this, SpeechConstant.APPID + "59***6d7");

應該是

SpeechUtility.createUtility(this, SpeechConstant.APPID + "=59***6d7");

同時犯了個錯誤android studio 是把assets資料夾(如果使用訊飛自帶的dialog必須將下載sdk裡的該資料夾拷進去)放在main裡的
同樣jniLibs也是如此,這與eclipse是不一樣的
這裡寫圖片描述
同時查詢該錯誤的時候也有人只是在SpeechUtility.createUtility(this, SpeechConstant.APPID + “=59***6d7”);裡初始化也不行,還要在manifest新增meta-data

 <meta-data
        android:name="IFLYTEK_APPKEY"
        android:value="59***6d7"/>

希望此文能給後來者一點提示,和自己再搞時不會再找半天