How to programmatically initiate a Google Now voice search?

后端 未结 3 505
说谎
说谎 2020-12-08 11:18

I want to start a Google Now voice search when the user presses a button. However, I can\'t find the Intent to start the search in the docs.

Does a

3条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-08 11:43

    Call Activity for Voice Input:

    /* Call Activity for Voice Input */
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");
    
    try {
        startActivityForResult(intent, 1);
    } catch (ActivityNotFoundException a) {
        Toast.makeText(context, "Oops! Your device doesn't support Speech to Text",Toast.LENGTH_SHORT).show();
    }
    

    Get Input from as String:

    (I have used for set Text in Search View and Search for that Value)

    /* When Mic activity close */
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
    
        switch (requestCode) {
        case 1: {
            if (resultCode == Activity.RESULT_OK && null != data) {
                String yourResult = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS).get(0);
            }
            break;
        }
        }
    }
    

提交回复
热议问题