PendingIntent错误:Android 12+必须指定FLAG_IMMUTABLE或FLAG_MUTABLE
大家好!我是Kotlin Android开发的新手,在切换到targetSdk 31(Android 12)时遇到了问题。我使用MediaSessionCompat来管理媒体播放器。在创建通知(Notification)中“播放/暂停”按钮的PendingIntent时,出现以下错误:
Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
我的代码如下:
```kotlin
val intent = Intent(this, MainActivity::class.java)
val pendingIntent = PendingIntent.getActivity(this, 0, intent, 0)
val playAction = NotificationCompat.Action(
R.drawable.ic_play,
"Play",
pendingIntent
)
```
我知道需要添加一个标志,但不确定该选择哪一个,以及这会对通知的工作产生什么影响。另外,我听说MediaButtonReceiver的BroadcastReceiver也有问题。请告诉我如何正确修复所有与MediaSession相关的PendingIntent?提前感谢!