From b8d9f1c497ba0898de86f4550139dc325bfb9b74 Mon Sep 17 00:00:00 2001 From: "info@pi-farm.de" Date: Wed, 11 Mar 2026 10:41:57 +0000 Subject: [PATCH] app/src/main/java/com/example/jarvis_stts/MainActivity.kt aktualisiert --- .../com/example/jarvis_stts/MainActivity.kt | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/example/jarvis_stts/MainActivity.kt b/app/src/main/java/com/example/jarvis_stts/MainActivity.kt index de0e63d..b2298b1 100644 --- a/app/src/main/java/com/example/jarvis_stts/MainActivity.kt +++ b/app/src/main/java/com/example/jarvis_stts/MainActivity.kt @@ -84,10 +84,25 @@ class MainActivity : AppCompatActivity(), TextToSpeech.OnInitListener { // 5. Mikrofon-Berechtigung prüfen 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) + } else { + // App hat die Erlaubnis schon (z.B. beim zweiten App-Start) -> Direkt starten! + initWakeWord() + } + } + + override fun onRequestPermissionsResult(requestCode: Int, permissions: Array, 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) {