这是一个Java的异常错误,具体是由于在Android S (API 31)及以上版本创建PendingIntent时未指定FLAG_IMMUTABLEFLAG_MUTABLE标志引起的。

为了解决此错误,你需要在创建PendingIntent时添加FLAG_IMMUTABLEFLAG_MUTABLE标志。

如果你的应用程序不需要修改PendingIntent,建议使用FLAG_IMMUTABLE标志,这样可以提高性能和安全性。只有在某些功能依赖于PendingIntent可变性时,才使用FLAG_MUTABLE标志,比如需要与内联回复或气泡一起使用。

示例代码如下:

Intent intent = new Intent(context, YourActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, requestCode, intent, PendingIntent.FLAG_IMMUTABLE);

或者:

Intent intent = new Intent(context, YourActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, requestCode, intent, PendingIntent.FLAG_MUTABLE);

根据你的具体需求选择合适的标志来修复这个错误。

Android PendingIntent 错误: java.lang.IllegalArgumentException: Targeting S+ requires FLAG_IMMUTABLE or FLAG_MUTABLE

原文地址: https://www.cveoy.top/t/topic/qsXH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录