Получить звук из намерения распознавания голоса

Я прошел почти по каждой ссылке для получения аудиоданных в onActivityResult() из RecognizerIntent.

1. Получить URI сохраненного аудио в OnResults (результат пакета) в Speech RecognitionListener android
2. записывать/сохранять аудио с целью распознавания голоса

Я придерживаюсь того же подхода, и мой код почти идентичен. Но я получаю null от data.getData(); Любая помощь будет очень высоко ценится.

Вот мой код:

    private void startVoiceRecognitionActivity() {
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);

    String language = Locale.US.toString();
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, language);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, language);

    intent.putExtra("android.speech.extra.GET_AUDIO_FORMAT", "audio/AMR");
    intent.putExtra("android.speech.extra.GET_AUDIO", true);

    startActivityForResult(intent, REQUEST_CODE);
}

   @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
        Bundle bundle = data.getExtras();

        // This part works fine.
        ArrayList<String> matches = bundle.getStringArrayList(RecognizerIntent.EXTRA_RESULTS);

        // But audioUri is always null !!!
        Uri audioUri = data.getData();
        ...
}

И в моем файле AndroidManifest.xml у меня есть

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />


Заранее спасибо.


person Chenglee Wen    schedule 06.10.2017    source источник
comment
Какое действие разрешает RecognizerIntent? Работает ли вложение записи в Google Keep?   -  person Kaarel    schedule 08.10.2017
comment
Спасибо за ответ. Метод startVoiceRecognitionActivity(), который создает RecognizerIntent, вызывается при нажатии кнопки меню. Вложение для записи работает в Google Keep.   -  person Chenglee Wen    schedule 09.10.2017
comment
Каждое действие принадлежит приложению. Мой вопрос состоял в том, чтобы узнать, какое это приложение (включая номер версии). (Но если одно и то же приложение для распознавания работает вместе с Google Keep, то у меня нет идей.)   -  person Kaarel    schedule 14.10.2017