android - Android PIE 安全异常
问题描述
SecurityException
当我将目标版本更改为 28 时,当我尝试通过NotificationManager.notify()
from显示通知时开始崩溃FirebaseService
。我阅读了 Android 9 的行为更改,但添加FOREGROUND_SERVICE
权限对我没有帮助。该问题仅出现在搭载 Android 9 的设备上,但我无法在三星 S10 上重现该问题。
这是日志:
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)
清单权限:
<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" />
raw
从目录为频道设置声音会不会有问题?
解决方案
推荐阅读
- python - 如何在曲线旁边显示最后一个 Y 轴值?
- angular - 与子组件的角度 ChangeDetectionStategy.OnPush 应用程序混淆
- r - 如何更改 IDE RStudio 的语言?
- keras - 关于迁移学习中不可训练的层数
- python - 修改 Bokeh 中悬停时的显示格式
- sql-server - 是否有一种简单的方法可以在目标表的一列中引用多个主键?
- r - 如何从具有多个参数的数据框中取出一行
- sql - SQL COUNT(DISTINCT(field1)) GROUP BY MAX(filed2)
- amazon-dynamodb - 在 DynamoDB 中建模关系数据(嵌套关系)
- python - 如何访问列表中对象的特定属性,以及基于这些属性操作列表?