我的应用使用Parse SDK for Android和GCM在Parse数据库发生更改后获取通知。
应用的onCreate()调用以下代码行:
ParseGCM.register(context);
在Android 13设备上,此行会导致RuntimeException异常:
原因:java. lang.非法参数异常:com. myapp:以S+(版本31及更高版本)为目标要求在创建挂起Intent时指定FLAG_IMMUTABLE或FLAG_MUTABLE之一。强烈考虑使用FLAG_IMMUTABLE,仅当某些功能依赖于可变的挂起Intent时才使用FLAG_MUTABLE,例如,如果它需要与内联回复或气泡一起使用。位于android. app。挂起Intent. checkFlags(挂起Intent. java:401)位于android. app。挂起Intent. getBroadcastAsUser(挂起Intent. java:671)位于android. app。挂起Intent. getBroadcast(挂起Intent. java:658)位于com. firebase. jobeDispatcher. GooglePlayDriver。(GoogleDriver. java:72)位于com. parse. gcm。解析GCM. register(解析GCM. Play:39)
Android 11上未发生崩溃
1条答案
按热度按时间lvmkulzt1#
如果您的代码正在处理挂起的Intent,则值得检查,因为对于API级别31及更高级别,您必须指定应用创建的每个PendingIntent对象的可变性。请记住,www.example.com等内容https://developer.android.com/reference/android/app/PendingIntent#FLAG_IMMUTABLESDK 23版本的内容,希望这不是问题。
如果你的代码是这样的:
你必须把它改成这样的: