2016-12-31 56 views
0

我正在開發一個代碼,其中應用程序將輸入作爲語音並執行特定任務。如何使用ACTION_RECOGNIZE_SPEECH打開地圖和呼叫

我已經得到了代碼更改語音到文本,但我不能把一個if條件建立呼叫或開放式地圖

這裏是獲取文本

case RESULT_SPEECH: { 
      if (resultCode == RESULT_OK && null != data) { 
       ArrayList<String> text = data 
         .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); 
       Text.setText(text.get(0)); 
       String check = text.get(0); 
       if(check.equals("call")){ 
        System.out.println("yes calling"); 
       } 
      } 
      break; 
     } 

後的一段代碼在這裏,我表現如果條件,如果他說,它應該打印「是呼叫」,但它不打印。我該怎麼辦?

+0

你有沒有做過任何調試?這個函數是否被調用? RESULT_SPEECH被返回嗎?結果代碼RESULT_OK?數據是否被返回?識別是否返回正確的單詞?做好基礎工作,然後我們可以幫助你。 –

+0

是的,一切都可以,RESULT_SPEECH一切都完成了,但是如果語句沒有被執行。 –

回答

1

好的,你可以做到。

case RESULT_SPEECH: { 
     if (resultCode == RESULT_OK && null != data) { 
      ArrayList<String> text = data 
        .getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); 
      Text.setText(text.get(0)); 
      String check = text.get(0); 
      if(check.equals("call")){ 
       Intent intent = new Intent(package name for app); 
       try{  
       startActivity(intent); 
       }catch(ActivityNotFoundException e){ 
       } 
      } 
     } 
     break; 
    }