将Android语音识别文本发送到另一活动

问题描述 投票:0回答:1

我目前正在尝试在我的Android应用中使用语音识别。本质上,我有一个主要活动,一个加载活动和一个文本显示活动。当按下主活动中的按钮时,麦克风将打开,然后过渡到加载活动,在该活动中,它将显示gif并带有弹跳点,表明您正在对着麦克风讲话。静默一定时间后,它将文本发送到测试显示活动。现在,我将其设置在我的主要活动中有一个按钮的位置,按下该按钮会将您发送到加载屏幕。我假设激活语音识别的代码将在主要活动中使用,但是我不确定如何将收集到的数据发送到我的文本显示活动中。如果不清楚,请告诉我。我的活动代码如下。

主要活动

package app.test;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getSupportActionBar().hide();

        ImageButton button = (ImageButton) findViewById(R.id.imageButton2);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    openLoading();
            }
        });
    }

    public void openLoading(){
        Intent intent = new Intent(this, Loading.class);
        startActivity(intent);
    }


}

正在加载活动

package app.test;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.speech.RecognizerIntent;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

import com.bumptech.glide.Glide;

import java.util.Locale;

public class Loading extends AppCompatActivity {
private ImageView gifImageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_loading);
        getSupportActionBar().hide();

        gifImageView=findViewById(R.id.imageView2);

        Glide.with(Loading.this)
                .load(R.drawable.loading)
                .into(gifImageView);
    }

    @Override
    public void onBackPressed() {

    }
}

文本显示活动

package app.test;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.TextView;

import org.w3c.dom.Text;

public class Tweet extends AppCompatActivity {
    private TextView txtResult;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tweet);
        txtResult = (TextView) findViewById(R.id.textView);
    }

}
java android speech-recognition text-to-speech
1个回答
0
投票

通过Application类共享数据,或者,您可以将数据保存到Bundle中,致电

© www.soinside.com 2019 - 2024. All rights reserved.