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" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.assecutor.stadtbote"> package="de.assecutor.stadtbote">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<application <application
android:label="Stadtbote" android:label="Stadtbote"
android:name="${applicationName}" android:name="${applicationName}"
@@ -1,5 +1,32 @@
package de.assecutor.stadtbote 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 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
}
}
+1 -1
View File
@@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts # In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix. # of the product and file versions while build-number is used as the build suffix.
version: 354.0.0+354 version: 355.0.0+355
environment: environment:
sdk: '>=3.9.0 <4.0.0' sdk: '>=3.9.0 <4.0.0'