我目前正在尝试在我的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);
}
}
通过Application类共享数据,或者,您可以将数据保存到Bundle中,致电