Android 12 上的 PendingIntent.FLAG_UPDATE_CURRENT 错误

2024-03-11

在我的应用程序中,我计划在每天的特定时间设置闹钟。为此,我正在使用警报管理器(请参阅下面的代码),这在 12 以下的 Android 设备上运行良好,但在 12 及更高版本上则不行

Firebase Crashlytics 上出现错误

以 S+(版本 31 及更高版本)为目标需要以下之一 创建时指定 FLAG_IMMUTABLE 或 FLAG_MUTABLE 待定意图。强烈考虑使用FLAG_IMMUTABLE,仅使用 FLAG_MUTABLE 如果某些功能依赖于 PendingIntent 可变的

谷歌崩溃错误 https://i.stack.imgur.com/8tCGy.png

这是我的代码

Calendar calendar = Calendar.getInstance();

    calendar.set(Calendar.HOUR_OF_DAY, 8);
    calendar.set(Calendar.MINUTE, 15);
    calendar.set(Calendar.SECOND, 0);
    calendar.set(Calendar.MILLISECOND, 0);

    Calendar cur = Calendar.getInstance();

    if (cur.after(calendar)) {
        calendar.add(Calendar.DATE, 1);
    }



    Intent myIntent = new Intent(mCon, DailyReminder.class);
    int ALARM1_ID = 10000;

        PendingIntent pendingIntent= PendingIntent.getBroadcast(mCon, ALARM1_ID, myIntent, PendingIntentFLAG_UPDATE_CURRENT);


    AlarmManager alarmManager = (AlarmManager) mCon.getSystemService(Context.ALARM_SERVICE);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);

我通过网络并显示以下解决方案

  PendingIntent pendingIntent;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
        pendingIntent= PendingIntent.getBroadcast(mCon, ALARM1_ID, myIntent, PendingIntent.FLAG_IMMUTABLE);
    } else {
        pendingIntent = PendingIntent.getBroadcast(mCon, ALARM1_ID, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    }

谁能解释一下 PendingIntent.FLAG_UPDATE_CURRENT 和 PendingIntent.FLAG_IMMUTABLE 之间的区别。

如果我每次用户启动应用程序时都调用此方法,可以吗?它会创建或更新现有警报吗?

谢谢


From Android12从此,我们需要为每次使用待定意图设置可变性

如果我们认为应用程序的最低支持版本是 23,那么我们可以为待处理的意图对象设置不可变或可变标志。

检查中提到的这个解决方案中等博客的 https://medium.com/native-mobile-bits/lets-use-android-12-migration-of-our-android-apps-to-android12-api-31-af329b6829d0 Step 4.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 12 上的 PendingIntent.FLAG_UPDATE_CURRENT 错误 的相关文章

  • 如何仅从 Firestore 获取最新更新的数据?

    在 Firestore 上发现任何更改时始终获取整个文档 如何只获取最近更新的数据 这是我的数据 我需要在第一次加载时在聊天中按对象顺序 例如 2018 09 17 30 40 msg和sendby 并且如果数据更新则仅获取新的msg和se
  • Java Applet 中的 Apache FOP - 未找到数据的 ImagePreloader

    我正在研究成熟商业产品中的一个问题 简而言之 我们使用 Apache POI 库的一部分来读取 Word DOC 或 DOCX 文件 并将其转换为 XSL FO 以便我们可以进行标记替换 然后 我们使用嵌入到 Java 程序中的 FOP 将
  • 在 Xamarin 中隐藏软键盘

    如何隐藏软键盘以便在聚焦时显示Entry在 Xamarin forms 便携式表单项目中 我假设我们必须为此编写特定于平台的渲染器 但以下内容不起作用 我创建自己的条目子类 public class MyExtendedEntry Entr
  • 蓝牙发送和接收文本数据

    我是 Android 开发新手 我想制作一个使用蓝牙发送和接收文本的应用程序 我得到了有关发送文本的所有内容逻辑工作 但是当我尝试在手机中测试它时 我看不到界面 这是Main Activity Code import android sup
  • 如何将 HTML 链接放入电子邮件正文中?

    我有一个可以发送邮件的应用程序 用 Java 实现 我想在邮件中放置一个 HTML 链接 但该链接显示为普通字母 而不是 HTML 链接 我怎样才能将 HTML 链接放入字符串中 我需要特殊字符吗 太感谢了 Update 大家好你们好 感谢
  • 如何在JPanel中设置背景图片

    你好 我使用 JPanel 作为我的框架的容器 然后我真的想在我的面板中使用背景图片 我真的需要帮助 这是我到目前为止的代码 这是更新 请检查这里是我的代码 import java awt import javax swing import
  • 轻松的反应

    我有一个与这里描述的类似的案例 动态更改RESTEasy服务返回类型 https stackoverflow com questions 3786781 dynamically change resteasy service return
  • 以编程方式向 LinearLayout 添加边框

    我该如何添加以编程方式LinearLayout 的边框 假设我们创建了这个布局 LinearLayout TitleLayout new LinearLayout getApplicationContext TitleLayout setO
  • Spring @Cacheable 和 @Async 注解

    我需要缓存一些异步计算的结果 具体来说 为了克服这个问题 我尝试使用 Spring 4 3 缓存和异步计算功能 作为示例 我们采用以下代码 Service class AsyncService Async Cacheable users C
  • Android TextureView 和硬件加速

    我正在尝试实现上所示的示例这一页 http developer android com reference android view TextureView html 我已经在运行 android 4 及以上版本的三种不同设备上进行了尝试
  • Android:分配内存失败

    我正在尝试创建一个具有 2047 mb 内存的模拟器 当我运行它时 我收到此错误 2011 02 22 14 24 14 Emulator 2011 02 22 14 24 14 Emulator This application has
  • 使用 HtmlUnit 定位弹出窗口

    我正在构建一个登录网站并抓取一些数据的程序 登录表单是一个弹出窗口 所以我需要访问这个www betexplorer com网站 在页面的右上角有一个登录链接 写着 登录 我单击该链接 然后出现登录弹出表单 我能够找到顶部的登录链接 但找不
  • 将 JScrollPane 添加到 JFrame

    我有一个关于向 Java 框架添加组件的问题 我有一个带有两个按钮的 JPanel 和一个添加了 JTable 的 JScrollPane 我想将这两个添加到 JFrame 中 我可以将 JPanel 添加到 JFrame 或将 JScro
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • Activity 暂停时调用 FragmentManager.popBackStack 是否安全

    的文档FragmentManager popBackStack https developer android com reference android app FragmentManager html popBackStack java
  • 如何在android中安装和使用couch db

    我应该如何在 android 中安装和使用 couch Db 我的意思是本地沙发数据库 我可以在平板电脑和模拟器中使用它 为此我必须遵循哪些步骤 我目前正在开发一个使用它的项目 有两种选择 1 couchbase android 是的 co
  • Android View Canvas onDraw 未执行

    我目前正在开发一个自定义视图 它在画布上绘制一些图块 这些图块是从多个文件加载的 并将在需要时加载 它们将由 AsyncTask 加载 如果它们已经加载 它们只会被绘制在画布上 这工作正常 如果加载了这些图片 AsyncTask 就会触发v
  • 在线性布局内的 ScrollView 内并排对齐 TextView

    我有一个带有滚动视图的线性布局 我想保留它的当前格式 但只需将 textView2a 和 textView3a 并排放置 而不会破坏我当前的布局格式 我已经包含了我最近的尝试 但它们似乎不正确 提前致谢 Java菜鸟 当前有效的 XML
  • Java RMI - 客户端超时

    我正在使用 Java RMI 构建分布式系统 它必须支持服务器丢失 如果我的客户端使用 RMI 连接到服务器 如果该服务器出现故障 例如电缆问题 我的客户端应该会收到异常 以便它可以连接到其他服务器 但是当服务器出现故障时 我的客户端什么也
  • Java 11 - 将 Spring @PostConstruct 替换为 afterPropertiesSet 或使用 initMethod

    我正在使用 spring 应用程序 有时会使用 PostConstruct用于代码和测试中的设置 看来注释将被排除在外Java 11 https www baeldung com spring postconstruct predestro

随机推荐

  • 如何使用 multer 存储带有文件扩展名的文件?

    设法将我的文件存储在一个文件夹中 但它们存储时没有文件扩展名 有谁知道如何存储带有文件扩展名的文件 我有一个解决方法来添加正确的文件扩展名 如果你使用path节点模块 var multer require multer var path r
  • 连接在远程 IP 上被拒绝,但在本地 IP 上被接受

    正如标题所说 我的服务器在本地计算机上运行 我对其进行了测试和调试 它运行得很好 服务器也是用java编写的 但是当我尝试用我的远程IP 而不是192 168 0 113 我使用146 255 x x 测试它时 服务器没有收到任何东西 而客
  • Kendo UI MVVM 与 TypeScript - 将 ViewModel 制作为“类”

    我正在将一个项目转换为 Typescript 它使用 Kendo UI 的 MVVM 架构 然而 我对类的概念及其与视图模型的关系有一些疑问 我将建立一个班级并扩展kendo data ObservableObject 您可以从中创建视图模
  • wget 无法下载 - 404 错误

    我尝试使用 wget 下载图像 但收到如下错误 2011 10 01 16 45 42 http www icerts com images logo jpg Resolving www icerts com 97 74 86 3 Conn
  • Android 应用程序的蓝牙连接自动断开

    我正在创建一个应用程序 它以编程方式与 Android 应用程序连接 BLE 设备 这是我的连接 断开连接代码 当用户单击 连接 按钮时 new Thread new Runnable Override public void run mC
  • 使用 SMTP 发送电子邮件 codeigniter

    我正在尝试使用 smtp codeigniter 发送电子邮件 我正在使用的代码如下 public function notify marketing config Array protocol gt smtp smtp host gt s
  • C# 中是否有 ShouldSerialize[PropertyName] 的替代方案?

    我最近一直在编写大量代码 其中涉及使用 Json NET 进行序列化 并且由于我序列化的数据的性质 有时并非所有属性都需要序列化 因此 我执行如下操作 public int Foo get set public bool ShouldSer
  • 好的 asp.net (C#) 应用程序? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 对于满足以下条件的优秀开源 asp net C 应用程序有什么建议吗 设计精良且多层次 干净且带注释的
  • Ruby:读取 PDF 文件

    我正在寻找一种快速可靠的方法来在 Ruby 在 Linux 和 OSX 上 中读取 解析大型 PDF 文件 直到现在我发现了相当古老和简单的PDF 工具包 http pdf toolkit rubyforge org a pdf转文本 ht
  • ASP.NET 5 Web 应用程序作为 Azure Web 角色?

    我们的解决方案中有一个 ASP NET 5 Web 应用程序 通常 我们可以右键单击云服务 角色 项 然后从解决方案中的现有项目添加新角色 但它无法将该项目标识为 Web 角色 我们如何能够在 Azure Web 角色中托管 ASP NET
  • 生成位置周围的随机坐标

    我想要一个函数 它接受地理位置 纬度 经度 并生成周围的随机坐标集 但也将这些参数作为计算的一部分 要制作的随机坐标数 生成半径 随机坐标之间的最小距离 以米为单位 用于生成其周围位置的根坐标 生成方式的示例 实现这一目标的好方法是什么 生
  • 使用环境变量的 Maven 本地存储库

    如何使用环境用户变量设置 标记 我尝试了这条路 myRepo repo 但它不起作用 myRepo C maven repo 我无法使用绝对路径来解决可移植性问题 但我可以将 myRepo 设置到每个系统上的正确位置 其中绝对路径可能会有所
  • 我可以在本地测试 AWS Glue 代码吗?

    阅读 Amazon 文档后 我的理解是运行 测试 Glue 脚本的唯一方法是将其部署到开发端点并在必要时进行远程调试 同时 如果 Python 代码由多个文件和包组成 则除了主脚本之外的所有文件和包都需要压缩 这一切让我感觉 Glue 不适
  • 如何使用与其文件扩展名关联的程序打开文件?

    有没有一种简单的方法可以在Windows中通过其关联程序打开文件 就像在 Windows 资源管理器中双击它一样 但使用我的代码自动完成 例如 在计算机 A 上 text txt 将在写字板中打开 但在计算机 B 上 由于用户文件扩展名分配
  • Bootstrap - 选择和按钮彼此相邻

    我有一个
  • 我应该如何编写 .i 文件来包装 Java 或 C# 中的回调

    我的 C 程序使用定期调用的回调函数 我希望能够处理 Java 或 C 程序中的回调函数 我应该如何编写 i 文件来实现此目的 C 回调看起来像这样 static void on incoming call pjsua acc id acc
  • JDBI 的 @BindBean 在 INSERT 期间未在 bean 类中找到命名参数

    当使用 JDBI 的 BindBean 将值插入 Dropwizard 中的 Mysql 数据库时 我始终遇到以下异常 问题似乎是 JDBI 无法找到 bean 中的属性 我已经将该问题隔离到一个单独的项目中 但无法弄清楚哪里出了问题 我将
  • 在 HTML 上使用 setter 和 getter 变量(角度组件)

    我创建了一个简单的角度组件来测试使用 getter setter 样式的变量的使用情况 import Component from angular core Component selector my app templateUrl app
  • 仅隐藏滚动上的操作栏而不是操作栏选项卡

    我在向下滚动时尝试隐藏操作栏时遇到问题 然后在向上滚动时 必须再次显示操作栏 For Eg 我提到了这个Tutorial http www techrepublic com article pro tip maximize android
  • Android 12 上的 PendingIntent.FLAG_UPDATE_CURRENT 错误

    在我的应用程序中 我计划在每天的特定时间设置闹钟 为此 我正在使用警报管理器 请参阅下面的代码 这在 12 以下的 Android 设备上运行良好 但在 12 及更高版本上则不行 Firebase Crashlytics 上出现错误 以 S