POST_NOTIFICATIONS-Berechtigung fuer Android 13+ ergaenzt und Version auf 355 angehoben

Seit targetSdk 33 muss POST_NOTIFICATIONS im Manifest deklariert und zur
Laufzeit angefragt werden, sonst bleibt der Benachrichtigungsschalter in
den Systemeinstellungen ausgegraut. MainActivity fragt die Berechtigung
jetzt in onCreate ab API 33 an.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
SvenandClaude Fable 5.1 committed 2026-09-21 09:47:03 +02:00
1 parent 4b649c6ed9
commit bb7e0b6b82
3 files changed
+30 -2

No files matched your search

+1
View File
@@ -1,6 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.assecutor.stadtbote">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<application
android:label="Stadtbote"
android:name="${applicationName}"
@@ -1,5 +1,32 @@
package de.assecutor.stadtbote
import android.Manifest
import android.content.pm.PackageManager
import android.os.Build
import android.os.Bundle
import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity()
class MainActivity: FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
requestNotificationPermissionIfNeeded()
}
/**
* Ab Android 13 (API 33) ist POST_NOTIFICATIONS eine "dangerous" Permission,
* die zur Laufzeit angefragt werden muss. Ohne sie darf die App keine
* Benachrichtigungen anzeigen und der Schalter in den Systemeinstellungen
* bleibt ausgegraut.
*/
private fun requestNotificationPermissionIfNeeded() {
if (Build.VERSION.SDK_INT >= 33 &&
checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(arrayOf(Manifest.permission.POST_NOTIFICATIONS), REQUEST_CODE_POST_NOTIFICATIONS)
}
}
companion object {
private const val REQUEST_CODE_POST_NOTIFICATIONS = 1001
}
}