2016-03-17 107 views

回答

0

要讓搜索通過語音獲得填充,用戶必須點擊一個按鈕才能說話?

+0

是的。用戶單擊工具欄(AppCompat)中的麥克風圖標,而不是鍵入文本,然後彈出系統語音重新創建對話框。 –

+0

所以當你開始搜索Activity時,你可以包含intent.putExtra(EXTRA_MESSAGE,message); startActivity(intent); 作爲啓動搜索活動的活動的標識符。 – pooja

+0

並在搜索活動中以這種方式檢查Intent intent = getIntent(); String message = intent.getStringExtra(MyActivity.EXTRA_MESSAGE);你可以比較字符串。它不需要是字符串值,可以是不同的數據類型 - 無論適合你 – pooja

0

在我的應用程序中,我通過檢查SearchManager.USER_QUERY的值是否爲null來確定這一點。如果是這樣,那意味着用戶沒有鍵入任何文本來啓動搜索,這意味着他們使用語音搜索。我不喜歡這樣寫道:

@Override 
protected void onNewIntent(Intent intent) { 
    if (intent.getAction().equals(Intent.ACTION_SEARCH)) { 

     //if this was a voice search 
     if (intent.getStringExtra(SearchManager.USER_QUERY) == null) { 
      //do stuff with voice search query... 
     } else { 
      //perform search with text query 
     } 

    } 
} 

該解決方案一直感到哈克給我,但它是我能想出這樣做的唯一途徑,它一直致力於完美自從我來實現它。