- Forum-Beiträge: 6
16.12.2018, 13:47:16 via Website
16.12.2018 13:47:16 via Website
Hallo Android Community,
und zwar ich habe folgendes Problem, beim Bestätigen eines Buttons öffnet sich mein Mikro und ich kann etwas sagen, dies soll nun in einen EditText geschrieben werden, doch das tut es nicht.
In Android Studio wird mir ebenso die Zeile
resultCode == RESULT_OK
orange angekreidet.
Hier mal mein Java Quellcode.
import android.content.Intent;
import android.speech.RecognizerIntent;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
private static final int rC = 100;
private Button btn;
private EditText tv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = (Button) findViewById(R.id.btn);
tv1 = (EditText) findViewById(R.id.tv1);
}
@Override
protected void onStart() {
super.onStart();
}
@Override
protected void onResume() {
super.onResume();
btn.setOnClickListener(new BerechnenButtonClicked());
}
class BerechnenButtonClicked implements View.OnClickListener {
@Override
public void onClick(View v) {
speak();
}
}
private void speak() {
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, "Jetzt sprechen!");
try {
startActivityForResult(intent, 100);
} catch (Exception e) {
Toast.makeText(getApplicationContext(),"" +e.getMessage(), Toast.LENGTH_LONG).show();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (resultCode) {
case rC: {
try {
if (resultCode == RESULT_OK || null != data) {
ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
tv1.setText(result.get(0));
}
break;
} catch (Exception e) {
Toast.makeText(getApplicationContext(),"" +e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}
}
}
Wo liegt mein Fehler, damit ich das aufgenommene auch in einen EditText schreiben kann.
Wenn ihr mir helfen könnt, bin ich euch super dankbar.
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.