开发者

Extending Android's Voice Search app

开发者 https://www.devze.com 2023-01-22 21:04 出处:网络
Is it possible to extend the Voice Search app?I know I can add a button in my own app to launch the voice recognition dialog, but I was wondering if I could extend the voice search app that launches a

Is it possible to extend the Voice Search app? I know I can add a button in my own app to launch the voice recognition dialog, but I was wondering if I could extend the voice search app that launches automa开发者_运维问答tically when you long press the physical "search" key.

send text to [contact] [message]
listen to [artist/song/album]
call [business]
call [contact]
send email to [contact] [message]
go to [website]
note to self [note]
navigate to [location/business name]
directions to [location/business name]
map of [location]

I'd basically like to add my own action to the above list.

Is this possible or will I have to create my own?


In a word, no. The app doesn't have the extension points you are looking for. You would have to write your own app entirely, which is something that others have done.


A simple method to Handle Voice Search

Step 1 Call this method on button click

public void startVoiceRecognition() {
    Intent intent = new Intent("android.speech.action.RECOGNIZE_SPEECH");
    intent.putExtra("android.speech.extra.LANGUAGE_MODEL", "free_form");
    intent.putExtra("android.speech.extra.PROMPT", "Speak Now");
    this.mContainerActivity.startActivityForResult(intent, 3012);
}

Step 2 Override onActivityResult method

@ Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 3012 && resultCode == RESULT_OK) {
        ArrayList < String > matches = data.getStringArrayListExtra("android.speech.extra.RESULTS");
        String result= matches.get(0);
        //Consume result 
        edittext.setText(result);
    }
}

Thats all, DONE

0

精彩评论

暂无评论...
验证码 换一张
取 消