When i changed target version to 28 i started to get SecurityException
crashes when i'm trying to display notification by NotificationManager.notify()
from FirebaseService
.
I read behavior changes for Android 9, but adding of FOREGROUND_SERVICE
permission doesn't help me. The problem occurs on devices with Android 9 only, but i can't reproduce it on Samsung S10.
here is logs:
java.lang.SecurityException:
at android.os.Parcel.createException (Parcel.java:1966)
at android.os.Parcel.readException (Parcel.java:1934)
at android.os.Parcel.readException (Parcel.java:1884)
at android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag (INotificationManager.java:1653)
at android.app.NotificationManager.notifyAsUser (NotificationManager.java:429)
at android.app.NotificationManager.notify (NotificationManager.java:379)
at android.app.NotificationManager.notify (NotificationManager.java:355)
at com.example.Utils.onNotificationReceived (Utils.java:201)
at com.example.FirebaseService.onMessageReceived (FirebaseService.java:51)
at com.google.firebase.messaging.FirebaseMessagingService.zzd (FirebaseMessagingService.java:60)
at com.google.firebase.iid.zzg.run (zzg.java:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:641)
at com.google.android.gms.common.util.concurrent.zza.run (zza.java:6)
at java.lang.Thread.run (Thread.java:764)
Caused by: android.os.RemoteException:
at com.android.server.am.ActivityManagerService.checkGrantUriPermissionLocked (ActivityManagerService.java:12755)
at com.android.server.am.ActivityManagerService.checkGrantUriPermission (ActivityManagerService.java:12772)
at com.android.server.notification.NotificationRecord.visitGrantableUri (NotificationRecord.java:1147)
at com.android.server.notification.NotificationRecord.calculateGrantableUris (NotificationRecord.java:1123)
at com.android.server.notification.NotificationRecord.<init> (NotificationRecord.java:208)
Manifest permissions:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
Could there be an issue in setting sound for channel from raw
directory?