首页 > 其他分享 >PendingIntent 问题:Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or ...

PendingIntent 问题:Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or ...

时间:2024-12-25 21:32:00浏览次数:5  
标签:... Targeting 创建 31 FLAG MUTABLE IMMUTABLE PendingIntent SDK

问题描述与处理策略

1、问题描述
Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.

Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles.
  • 在针对 Android S+ 开发应用程序时(即 Android 12,版本号 31 及以上),创建 PendingIntent 时必须指定 FLAG_IMMUTABLEFLAG_MUTABLE 之一,这是为了增强应用程序的安全性和稳定性
2、处理策略
// 假设原来是这样的

pendingIntent = PendingIntent.getActivity(context, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// 需要修改成这样的

pendingIntent = PendingIntent.getActivity(context, requestCode, intent, PendingIntent.FLAG_IMMUTABLE);

补充

1、FLAG_IMMUTABLEFLAG_MUTABLE
(1)FLAG_IMMUTABLE
  1. FLAG_IMMUTABLE 表示创建的 PendingIntent 是不可变的

  2. 一旦 PendingIntent 被创建,它的内容(例如,Intent 中的数据)就不能被更改,这有助于防止潜在的安全漏洞(例如,在跨应用通信时)

  3. 在大多数情况下,如果 PendingIntent 不需要在创建后被修改,建议使用 FLAG_IMMUTABLE

(2)FLAG_MUTABLE
  1. FLAG_MUTABLE 表示创建的 PendingIntent 是可变的

  2. PendingIntent 的内容可以在创建后被更改

  3. 如果 PendingIntent 需要在创建后被修改(例如,用于通知的回复或气泡),那么应该使用 FLAG_MUTABLE

2、第三方库或 SDK的影响
  1. 如果应用的业务代码未使用 PendingIntent 还是出现了此问题,可能是使用了某些第三方库或 SDK,这些库或 SDK 在内部使用了 PendingIntent

  2. 当这些库或 SDK 没有针对 Android 12 及更高版本进行更新,以正确指定 FLAG_IMMUTABLEFLAG_MUTABLE 时,就会触发这个错误

标签:...,Targeting,创建,31,FLAG,MUTABLE,IMMUTABLE,PendingIntent,SDK
From: https://blog.csdn.net/weixin_52173250/article/details/144704293

相关文章

  • CS3331-01 对软件工程和程序开发的体会
    在经历了物品复活程序的开发和软件工程课程的学习后,我对程序开发的整个过程有了更深刻的理解和体会,分为以下几个方面:需求分析的重要性在项目的初期,准确而详尽的需求分析是至关重要的。它决定了项目的方向和目标,是后续设计和开发工作的基础。如果需求分析不准确或遗漏了关键需......
  • java~重写hashcode时为什么要乘以31
    在Java中,重写hashCode()方法时常常会使用31作为乘数,这是因为31具有一些独特的数学性质,使其成为一个优秀的选择。以下是几个原因:1.奇质数的特性31是一个奇数和质数,这意味着它能有效地减少哈希冲突的概率。使用质数作为乘数可以帮助分散哈希值,从而提高哈希表的性能。2.位运算效......
  • 阅读报告 Science385,1318-1321(2024).
    论文:WenxuanJia etal.,Squeezingthequantumnoiseofagravitational-wavedetectorbelowthestandardquantumlimit.Science385,1318-1321(2024).DOI:10.1126/science.ado8069引力波是时空的涟漪,让空间发生微弱的扭曲,它的强度极弱.在测量引力波的时候,任何一......
  • 微软edge浏览器 v131.0.2903.99便携版
    点击上方蓝字睿共享关注我前言MicrosoftEdge浏览器是个新浏览器,它用起来很简单,界面也很清爽。这个浏览器功能特别多,里面还带了微软的小助手Contana,能帮用户做不少贴心的事儿。它支持安装各种小工具(插件),还能在网页上做标记。而且,管理网页标签也变得很容易,不用离开当前看的网页,就......
  • 31. 说说你平时是怎么处理 Java 异常的
    try-catch-finallytry块负责监控可能出现异常的代码catch块负责捕获可能出现的异常,并进行处理finally块负责清理各种资源,不管是否出现异常都会执行其中try块是必须的,catch和finally至少存在一个标准异常处理流程抛出异常→捕获异常→捕获成功(当catch的异常类型与......
  • APP 渗透测试指南(一)--- 安卓测试环境部署(超级详细)(成为移动黑客,手机kali安装最简单教
    绪论如果各位师傅觉得有用的话,可以给我点个关注~~如果师傅们有什么好的建议也欢迎联系我~~感谢各位师傅的支持~~投票   不好意思各位师傅,最近断更了好久,工具太多了写不过来了,后续会继续保持更新!!!想麻烦各位师傅进行一下投票,后续会优先更新投票数量最多的内容! ......
  • 【随手记录】Apache POI 报错:Zip bomb detected! The file would exceed the max. rat
    1、背景:使用POI解析Excel报错:Zipbombdetected!Thefilewouldexceedthemax.ratioofcompressedfilesizetothesizeoftheexpandeddata。Thismayindicatethatthefileisusedtoinflatememoryusageandthiscouldposeasecurityrisk.Youcanadj......
  • P3175 [HAOI2015] 按位或(min-max 容斥)
    题意有一个初始为\(0\)的变量\(x\),每次操作会以\(p_i\)的概率选择位于\([0,2^n)\)中的某个整数\(i\),并将\(x\)或上\(i\)。问期望几次操作后\(x=2^n-1\)。\(n\le20,\sump_i=1\)引入:min-max容斥以两个式子入手:\[\max(S)=\sum_{T\subseteqS}(-1)^{|T|+1}\min(T......
  • 学期2024-2025-1 学号20241317 《计算机基础与程序设计》第十三周学习总结
    学期2024-2025-1学号20241317《计算机基础与程序设计》第十三周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写上具......
  • 20241313 刘鸣宇 《计算机基础与程序设计》第13周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标<写上具体方面>作业正文...本博客链接教材学习内容总结《C语言程序设计......