Google распознавание речи открыть новую деятельность - PullRequest
0 голосов
/ 17 июня 2019

Здравствуйте, друзья! Я новичок в Android, использующий распознавание речи Google в своем проекте, и я использовал выражение regex, если шаблон соответствует ему, перейдите к следующему действию, которое работает отлично, но моя проблема в том, что если шаблон не соответствует, вместо этого мое приложение падает о сбое приложения, которое я хочу показать в своем приложении, чтобы пользователь знал, как использовать распознавание речи в моем приложении, вот мой код.

// вот моя логика, если шаблон соответствует, переходите к следующему действию, которое работает нормально.

if(useList(array,bookname)&&chapter.contains("chapter")&&chapternumber.matches("[1-9]+")&&verse.contains("verse")
       &&versenumber.matches("[1-9]+")){
           Intent intent = new Intent(MainActivity.this, ALLVERSE.class);
           intent.putExtra("Boooknumber", booknumber);
           intent.putExtra("Bookname", bookname);
           intent.putExtra("Chapternumber", chapternumberindex);
           intent.putExtra("versenumber", vereseno);
           startActivity(intent);

           Toast.makeText(this, "MACTHED", Toast.LENGTH_SHORT).show();
       }


//my else part if not matched instead showing false in toast my app is crashed

    else{
                   Toast.makeText(this, "false", Toast.LENGTH_SHORT).show();
               } 

вот ошибка журнала:

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=10, result=-1, data=Intent { (has extras) }} to activity {bible.swordof.God/bible.swordof.God.MainActivity}: java.lang.NumberFormatException: Invalid int: "am"
        at android.app.ActivityThread.deliverResults(ActivityThread.java:3714)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:3757)
        at android.app.ActivityThread.-wrap16(ActivityThread.java)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1394)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:148)
        at android.app.ActivityThread.main(ActivityThread.java:5452)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:762)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:652)
     Caused by: java.lang.NumberFormatException: Invalid int: "am"

1 Ответ

0 голосов
/ 17 июня 2019

ошибка журнала отображается как NumberFormatException, поэтому поместите свой код в блок try / catch и проверьте, что в результате приложение может не аварийно завершиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...