app/src/main/java/com/example/jarvis_stts/MainActivity.kt aktualisiert

This commit is contained in:
2026-03-11 10:41:57 +00:00
parent dc7b0bd40f
commit b8d9f1c497

View File

@@ -84,10 +84,25 @@ class MainActivity : AppCompatActivity(), TextToSpeech.OnInitListener {
// 5. Mikrofon-Berechtigung prüfen // 5. Mikrofon-Berechtigung prüfen
if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) { if (ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED) {
// App hat noch keine Erlaubnis -> Wir fragen den Nutzer
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.RECORD_AUDIO), 1) ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.RECORD_AUDIO), 1)
} else {
// App hat die Erlaubnis schon (z.B. beim zweiten App-Start) -> Direkt starten!
initWakeWord()
}
}
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (requestCode == 1) {
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Juhu, Mikrofon ist freigegeben! Jetzt darf Porcupine starten.
initWakeWord()
} else {
Toast.makeText(this, "Ohne Mikrofon-Erlaubnis funktioniert J.A.R.V.I.S. nicht!", Toast.LENGTH_LONG).show()
}
} }
// Wake-Word Engine starten, sobald die App offen ist
initWakeWord()
} }
private fun connectToServer(url: String) { private fun connectToServer(url: String) {