Android点击通知未打开附加的Activity

2024-04-15

我想在单击状态栏上的通知时打开一个活动。我在 StackOverflow 上看到过这个答案,但这些答案都不适合我。 此问题仅出现在 Lollipop 设备上,最好的重现方法是: 1.启动应用程序。 2. 后台应用程序。 3. 接收推送通知。 4. 单击通知并尝试 3-4 条推送通知。

下面是我的代码:我也尝试过以下操作:

  1. 添加Intent.ACTION_MAIN
  2. Intent.CATEGORY_LAUNCHER 到意图
  3. PendingIntent.FLAG_UPDATE_CURRENT。
  4. android:exported="true" 在我的 AndroidManifest.xml 中

但没有任何效果。我仅在 Lollipop 设备上看到此问题。 请注意,我间歇性地看到这个问题。这是否与意图被缓存但未传递有关。请帮忙。

PendingIntent pendingIntent = getPendingIntent(context, payload);
Builder notificationBuilder = new NotificationCompat.Builder(context)
            .setSmallIcon(R.drawable.ic_stat)
            .setContentTitle(res.getString(R.string.app_name))
            .setContentText(payload.getMessage())
            .setTicker(payload.getMessage())
            .setContentIntent(pendingIntent)
            .setSound(soundUri);

private PendingIntent getPendingIntent(Context context, NotificationPayload payload) {
    int requestID = (int) System.currentTimeMillis();
    Intent intent = new Intent(context, DeepLinkActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.setPackage(BuildConfig.APPLICATION_ID);
    intent.putExtra(NotificationHelper.KEY_NOTIFICATION_PAYLOAD, payload);
    return PendingIntent.getActivity(context, requestID, intent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_CANCEL_CURRENT);
}

尝试在意图中添加 Intent.FLAG_ACTIVITY_CLEAR_TASK 标志

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

这似乎解决了我的问题

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

Android点击通知未打开附加的Activity 的相关文章

  • 包管理器已去世

    我收到一位安装了很多应用程序的用户发来的邮件 称当我的应用程序使用以下代码收集活动信息时 他遇到了问题 getPackageManager queryIntentActivities mAinIntent 0 完整来源在这里 https g
  • ViewFlipper中的VideoView在播放视频时是透明的

    我有一个 Activity 在 ViewFlipper 中设置了两个视图 其中一个视图是带有 GLSurfaceView 和一些其他小部件的布局 另一个视图只有带有 TextView 和 VideoView 的布局 当我单击 GLSurfa
  • 如何在android中批量插入sqlite

    我正在使用 SQLiteOpenHelper 进行数据插入 我需要插入2500个id和2500个名字 所以花费了太多时间 请任何人帮助我如何减少插入时间 我们可以一次插入多条记录吗 任何人都可以帮助我 先感谢您 代码 public clas
  • 当前版本的Android Gradle插件不支持按需配置

    升级到 Android Studio 3 1 2 后 出现以下错误 当前版本的 Android Gradle 插件不支持按需配置 因为您使用的是 Gradle 4 6 或更高版本 建议 通过在 gradle properties 文件中设置
  • Android SQLite 从代码中转储数据库以进行错误报告

    我正在为我的一个 Android 程序开发一种诊断工具 本质上 如果用户遇到问题 我想做一些类似 SQLite 的事情dump 参考 http www sqlite org sqlite html http www sqlite org s
  • 如何在 Picasso 中使用磁盘缓存?

    我正在使用 Picasso 在我的 Android 应用程序中显示图像 load image This is within a activity so this context is activity public void loadIma
  • 尝试获取屏幕上绘制的每个随机圆圈的 x、y 坐标

    您好 我正在制作一款游戏 该游戏将在屏幕上创建随机圆圈 随机创建的圆圈的值为红色或绿色 我的问题是 我希望不仅能够确定用户何时单击其中一个圆圈 而且还能够确定他们最终单击的圆圈 红色或绿色 下面是我的代码 我的主要问题是试图找到将要绘制的圆
  • 有人可以给出一个 android 中 webview 实现的确切例子吗

    嗨 我正在使用开发 Android 应用程序WebView执行 我跟着官方安卓教程 http developer android com resources tutorials views hello webview html 在 Ecli
  • org.apache.http.conn.HttpHostConnectException:在 android 中连接到 http://localhost 被拒绝

    我正在制作一个应用程序 在执行它时将图像上传到服务器并将其数据库更新到android中的服务器 它显示错误 Connection to http localhost refused 还有更多错误 我研究了这个问题 发现不是提供 URL 连接
  • 数据未刷新“DynamiteModule:未找到 com.google.firebase.auth 的本地模块描述符类”

    我已经使用 Firebase 很长时间了 到目前为止 除了以下场景之外 一切都很好 有时我注意到我的应用程序不再获取新数据 我正在用一个活跃的监听器监听变化 并且我确实有keepSynced set to true 发生这种情况时 我会在日
  • 垂直从上到下线手势检测器

    我用的是 手势工具 注意到对于垂直从上到下的线无法检测 因为我在代码中使用生成的手势文件 如下所示 但无法检测垂直从上到下的线手势检测 import java util ArrayList import android app Activi
  • 调整 SwipeRefreshLayout 高度,将 View 置于其底部

    I have SwipeRefreshLayout里面一个RelativeLayout 问题是SwipeRefreshLayout占据了屏幕上的所有位置 我需要放置一个视图after这个观点 看图片 https i stack imgur
  • Android 10 请求 ACTIVITY_RECOGNITION 权限

    我试图遵守 Google 的要求 为 Android 10 请求 ACTIVITY RECOGNITION 权限 但我似乎不明白为什么没有显示权限弹出窗口 就像其他权限 即位置 存储等 一样 我的代码是 if ContextCompat c
  • 通知操作而不启动新活动?

    我计划提供一个包含两个操作的提醒通知 一个用于批准登录请求 一个用于拒绝登录请求 通过单击这些操作中的任何一个 我希望向我的服务器发出 HTTP 请求 最重要的是 我不想启动新的 Activity 或根本不想将用户重定向到我的应用程序 Co
  • 如何从一个活动检索 Double 值到另一活动?

    我制作了一个包含 2 个活动的应用程序 其中第一个活动包含一些 EditText 十进制数字 另一个活动也包含一些 EditText 十进制 现在我想将一个 EditText 的值传递给另一个 但作为 双 而不是作为一个字符串 因为该值将用
  • 如何向开关对象添加/更改波纹效果

    下面是我自定义的开关 红圈是默认的波纹效果 我发现设置一个波纹可绘制作为开关的背景 控制波纹的颜色
  • 按“重置应用程序首选项”后,我的应用程序的所有权限都被撤销

    我开发了一个应用程序 支持Android 6 0 当我在 设置 gt 应用程序 gt 重置应用程序首选项 中重置应用程序首选项时 我的应用程序的所有权限都将被撤销 并且应用程序不会重新启动 撤销权限后未能重新启动应用程序可能会导致许多意外崩
  • Android - 如何简单地拖放按钮?

    我在这里找到了一个适合初学者的教程 http androidrox wordpress com 2011 05 13 android sample app drag and drop image using touch http andro
  • Android Google 地图无法在当前主题中找到样式“mapViewStyle”

    添加谷歌地图视图时 我扩展了MapView 使用xml编辑器将其添加到活动中 并将我的谷歌地图api密钥手动添加到布局xml文件中 我的权限在清单文件中允许互联网 我想知道的是 在 xml 编辑器中 我收到错误 无法在当前主题中找到样式 m
  • 应用程序关闭时单击 Firebase 通知后打开特定活动/片段

    我知道这个问题似乎重复 但根据我的要求 我在网上搜索了很多帖子 但没有任何对我有用 我的要求 我正在使用 Firebase 来获取推送通知 当应用程序打开时意味着一切正常 但我的问题是 如果有任何推送通知出现 应用程序处于后台 关闭意味着我

随机推荐

  • 在构造函数中声明属性 Angular 2

    我是一名刚接触 Angular 2 的 java 程序员 在做官方教程时 我很惊讶地发现他们在构造函数中而不是在类的顶部声明了这个属性 我知道 Java 和 JS 有很大不同 但是这样做之间有什么技术原因吗 constructor priv
  • 将图像添加到 R 中的类似表格的输出

    我有一个简单的数据结构 案例是国家 地区 对于每个国家 地区我有几个数字变量 就像这样 dat lt data frame country c Belgium Germany Holland Ireland Var1 1 4 Var2 11
  • 使用 jQuery Validate 插件,如何将错误消息字符串包装在跨度中

    有谁知道如何将内部错误字符串包装在跨度中 我正在为我的表单使用 jQuery Validate 插件 并在标签标记中显示默认的错误消息 这目前还不错 例子
  • 设计 config.timeout_in 不起作用

    我无法使用初始化器 devise rb 中的设计会话超时来使会话超时 I set config timeout in 1 minute 在initializers devise rb 中 我使用一名用户登录并闲置了2 分钟 这假设会使当前会
  • 如何检查当前应用程序进程是否在 Laravel 的队列环境中运行

    我通过特征将全局作用域应用于我的模型 但我不希望在从 Redis 队列调用 处理模型时应用全局作用域 如何检测当前实例是否是队列进程 就像我们有这个 if App environment local The environment is l
  • Android Studio - 无法找到请求目标的有效认证路径

    我收到这个错误 Gradle project name project refresh failed Unable to find valid certification path to requested target 当我在 Andro
  • Where().Count() 和 Count() 之间的区别

    using DBEntities db new DBEntities var employeeAgedAbove30 db Employees Where s gt s Age gt 30 Count Method 1 employeeAg
  • 使用 Sequelize 的多对多关系的简单示例

    我正在尝试使用 Sequelize 构建表之间多对多关系的简单示例 然而 这似乎比我预期的要棘手得多 这是我目前拥有的代码 db js文件导出 Sequelize 连接实例 const Sequelize require sequelize
  • 计算圆形数量级

    对于一个简单的项目 我必须使大数字 例如 4294967123 可读 因此我只写带有前缀的前几个数字 4294967123 gt 4 29G 12345 gt 12 34K 等 代码 简化 如下所示 const char postfixes
  • 从 Cydia 安装调整后重新启动

    我使用 DHowett 的 Theos 对应用程序和 mobilesubstrate 进行了调整 Tweak是应用程序的一个子项目 我在 iPhone 上测试过 一切正常 然后我创建了一个 Cydia 存储库并将我的项目加载到其中 问题是当
  • 未捕获的语法错误:意外的令牌导出

    我用过创建反应应用程序对于我的项目 我收到一个错误 未捕获的语法错误 意外的令牌导出 错误就在这段代码中 export const ENGLISH lang en messages nav translatedMessage Social
  • 使用 Apache Maths 进行多项式回归 (Java)

    有人可以帮我用 Apache Math 库进行多项式回归 2 阶 吗 以下数据应给出此方程 39 79 x 2 497 66 x 997 45 由 Excel 计算 r2 0 9998 coding style from http comm
  • 无法通过 AKS 上的 Azure 流量管理器和 Nginx Ingress 访问服务

    我在两个不同的区域有两个 AKS 集群作为主要集群和辅助集群 我想使用 Azure 流量管理器在主集群和辅助集群上进行基于优先级的端点监控和故障转移机制 我有两个服务 A 和 B 它们在相对路径上路由 服务 a and 服务 b分别 我在每
  • 如何在 python 3 及更高版本中永久删除文件?

    我想永久删除我用 python 代码创建的文件 我知道 os remove 等 但找不到任何特定的内容来永久删除文件 不想用未使用的文件填充垃圾箱 os remove已经是您正在寻找的了 它不会将东西发送到垃圾箱 它只是删除它们
  • 苹果商店拒绝iPhone申请的原因[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 谁能帮我了解苹果商店拒绝或提出反对提交任何iPhone申请的可能原因 以下是可能的原因 非官方的 从这里 http 10base t co
  • 如何将字节数组作为 UDT 属性从 VB6/VBA 传递到 C# COM DLL?

    我有一个 C 库 我试图将其公开给 VBA 我可以很好地将参数传递给函数 即 ref byte someArray 但传递对象或结构是行不通的 如果我尝试将字节数组作为类的属性传递 我会在 VB 中收到以下错误 函数或接口标记为受限 或者函
  • 导入 CSV,用 ; 分隔而不是 PowerShell

    我正在使用 CSV 来存储一些我想在 Powershell 中使用的信息 为了使 CSV 更 可读 我决定将每条信息放入单独的字段中 如果我使用import csv在powershell中 返回是这样的 Test1 Test2 Test3
  • Cakephp Auth: $this->Auth->login错误消息

    我正在使用身份验证组件 我在 beforeFilter 中设置 this gt Auth gt loginError 但我还有另一种可能性 如果用户输入的用户名和密码正确 但 User status pending 我怎样才能显示不同的消息
  • 如何限制 UITabBarController 上的选项卡数量?

    我有一个带有 UITabBarController 的 iPhone 应用程序 一切都很好 该应用程序的选项卡数量超出了显示屏纵向宽度所能显示的选项卡数量 因此我们总共看到 5 个选项卡 最后一个是 更多 选项卡 问题是 我们希望将一些 不
  • Android点击通知未打开附加的Activity

    我想在单击状态栏上的通知时打开一个活动 我在 StackOverflow 上看到过这个答案 但这些答案都不适合我 此问题仅出现在 Lollipop 设备上 最好的重现方法是 1 启动应用程序 2 后台应用程序 3 接收推送通知 4 单击通知