如何在一项活动中使用语音向 Google API 发送多个编辑文本?

问题描述

我正在使用此代码块将意图发送到谷歌语音盒

     imageViewforvoicetotextlocation.setonClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent i = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
            i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
            i.putExtra(RecognizerIntent.EXTRA_LANGUAGE,Locale.getDefault());
            i.putExtra(RecognizerIntent.EXTRA_PROMPT,"Speak Something");
            try {
                startActivityForResult(i,2);
            } catch (ActivityNotFoundException e) {
                Toast.makeText(try_menu_addcustomers.this,"Google voice Search Not Found",Toast.LENGTH_SHORT).show();
            }
        }
    });

使用它为另一个编辑文本发送另一个意图

     imageViewforvoicetotextname.setonClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


            Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
            intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,"hi-IN");
            intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE,Locale.getDefault());
            intent.putExtra(RecognizerIntent.EXTRA_PROMPT,"Speak Something");
            try {
                startActivityForResult(intent,1);
            } catch (ActivityNotFoundException e) {
                Toast.makeText(try_menu_addcustomers.this,Toast.LENGTH_SHORT).show();
            }
        }

    });

使用这段代码获取和设置数据

    @Override
protected void onActivityResult(int requestCode,int resultCode,@Nullable Intent data) {
    super.onActivityResult(requestCode,resultCode,data);
    ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
    switch (requestCode) {
        case 1:
            if (requestCode == 1 && null != data) {
                editText.setText(result.get(0));
            }
            if (requestCode == 2 && null != data) {
                editText3.setText(result.get(1));
            }
            break;

    }

第二个 if 语句从未被触发,我不知道为什么。是我做错了什么还是有其他方法可以做到这一点?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...