I am using google speech recognizer for integrating voice services in Android but while pressing on mic button this annoying toast message is showing. Please suggest me a way to hide this toast message.
This is my java code
public class FormActivity extends AppCompatActivity {
AppCompatEditText mFeedbackView;
ImageView mFeedbackVoiceView;
private final int REQ_CODE_SPEECH_INPUT_FEEDBACK = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_form);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mVisitFeedbackView = findViewById(R.id.feedback);
mFeedbackVoiceView = findViewById(R.id.feedback_voice);
mFeedbackVoiceView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
promptSpeechInputFeedback();
}
});
}
private void promptSpeechInputFeedback() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, getString(R.string.speech_prompt));
try {
startActivityForResult(intent, REQ_CODE_SPEECH_INPUT_FEEDBACK);
} catch (ActivityNotFoundException a) {
Toast.makeText(getApplicationContext(), getString(R.string.speech_not_supported), Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case REQ_CODE_SPEECH_INPUT_FEEDBACK: {
if (resultCode == RESULT_OK && null != data) {
ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
mFeedbackView.setText(result.get(0));
}
break;
}
}
}
}
This question is duplicate of How to hide toast“ Your audio will be sent to google to provide speech recognition service.” in Speech Recognizer? but there are no solution for this.
Any help will be appreciated.
Based on android regulations you cannot hide system toast messages as you don't have the accesses to the system View,
only in jailbrake android where you have access to the terminal you can try to do that.
You can make a custom speech recogniser which will give you more control over the UI. MainActivity opens a new DialogFragment which implements RecognitionListener .
An interface to signal the main activity after stt.
The custom SpeechToText Dialog.