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 的相关文章

  • Android 通知进度条冻结

    这是我正在使用的代码 http pastebin com 3bMCKURu http pastebin com 3bMCKURu 问题是 一段时间后 文件变得更重 通知栏下拉速度变慢 最后它就冻结了 你的通知太频繁了 这就是它冻结的原因 让
  • 如何更新 Firebase 中的节点密钥?

    如何重命名14 04 2017 node 没有用于重命名节点的 API 您必须获取节点的值 使用新名称将其保存到数据库并删除旧节点
  • 在自定义对象中创建时粘性服务不会重新启动

    我有一个具有绑定服务的单例对象 我希望它重新启动 当我从启动器启动应用程序时 单例对象将初始化并绑定到这个现有的服务实例 以下是在单例中创建和绑定服务的代码 public class MyState private static MySta
  • 如何从 SQLite 获取记录总数

    我正在尝试从 Sqlite DB 获取行的总数 以下是我想要做的代码片段 我不知道我在这里做错了什么 public static int getTotalCount Context context Cursor c null try c g
  • Android libgdx 首选项丢失

    我在 Libgdx 引擎中创建了 Android 游戏 一段时间后 我注意到在某些应用程序杀手中杀死该应用程序后 或者如果我在 Android 设置中执行 强制关闭 操作 我保存到首选项中的游戏选项就会丢失 有办法防止这种情况吗 我从来没有
  • (Ionic 2)尝试回退到 Cordova-lib 执行时发生错误:TypeError:无法读取未定义的属性“then”

    Edit 使用 ionic 2 时会发生这种情况 我知道它还不稳定 但我认为可能有一些解决方案 因为其他人似乎没有遇到这个问题 Edit end 由于某种原因 我在尝试使用 ionic build android 和 ionic build
  • 接近语法错误(代码1)插入Android SQLite

    我正在创建一个通讯录应用程序 用户可以在其中输入姓名 电子邮件地址和号码 我希望将此数据保存在数据库中 但我似乎无法使插入方法起作用 我收到的错误是 android database sqlite SQLiteException near
  • 如果我们使用后退按钮退出,为什么 Android 应用程序会重新启动?

    按住主页按钮并返回应用程序时 应用程序不会重新启动 为什么使用后退按钮会重新启动 如果我们使用后退按钮退出 有什么方法可以解决在不重新启动的情况下获取应用程序的问题吗 请帮忙 当您按下Home按钮 应用程序将暂停并保存当前状态 最后应用程序
  • 在我的Android中,当其他应用程序想要录制音频时如何停止录音?

    在我的应用程序中 服务通过 AudioRecord 持续录制音频 当我的应用程序运行时 其他与音频记录相关的应用程序 例如 Google 搜索 无法工作 如何知道何时有其他应用想要录制音频 以便我可以停止录制以释放资源 答案是MediaRe
  • 应用程序未安装在 Android 模拟器上

    我正在 android Geocoder 中开发一个应用程序 当我运行该应用程序时 它会显示 2011 01 11 11 08 13 GeoTourProject 自动目标模式 使用现有模拟器 emulator 5554 运行兼容的 AVD
  • minHeight 有什么作用吗?

    在附图中 我希望按钮列与图像的高度相匹配 但我也希望按钮列有一个最小高度 它正确匹配图像的高度 但不遵守 minHeight 并且会使按钮向下滑动 我正在为按钮列设置这些属性
  • CookieManager.getInstance().removeAllCookie();不删除所有cookie

    我在应用程序的 onCreate 中调用 CookieManager getInstance removeAllCookie 我遇到了一个奇怪的问题 我看到 GET 请求中传递了意外的 cookie 值 事实上 cookie 值是一个非常非
  • Android 启动器快捷方式

    我制作了一个简单的打卡 打卡时钟应用程序 我想向用户添加在主屏幕上创建快捷方式的选项 该快捷方式将切换应用程序的状态 超时 超时 但我根本不希望此快捷方式在屏幕上打开应用程序 这是我的 setupShortcut private void
  • ROOM迁移过程中如何处理索引信息

    CODE Entity tableName UserRepo indices Index value id unique true public class GitHubRepo PrimaryKey autoGenerate true p
  • 如何在C(Linux)中的while循环中准确地睡眠?

    在 C 代码 Linux 操作系统 中 我需要在 while 循环内准确地休眠 比如说 10000 微秒 1000 次 我尝试过usleep nanosleep select pselect和其他一些方法 但没有成功 一旦大约 50 次 它
  • 从 android 简单上传到 S3

    我在网上搜索了从 android 上传简单文件到 s3 的方法 但找不到任何有效的方法 我认为这是因为缺乏具体步骤 1 https mobile awsblog com post Tx1V588RKX5XPQB TransferManage
  • 下载后从谷歌照片库检索图像

    我正在发起从图库中获取照片的意图 当我在图库中使用 Nexus 谷歌照片应用程序时 一切正常 但如果图像不在手机上 在 Google Photos 在线服务上 它会为我下载 选择图像后 我将图像发送到另一个活动进行裁剪 但在下载的情况下 发
  • Android 如何聚焦当前位置

    您好 我有一个 Android 应用程序 可以在谷歌地图上找到您的位置 但是当我启动该应用程序时 它从非洲开始 而不是在我当前的城市 国家 位置等 我已经在developer android com上检查了信息与位置问题有关 但问题仍然存在
  • 如何将图像从 Android 应用程序上传到网络服务器的特定文件夹中

    如何将图像从 android 移动到 Web 服务器上的指定文件夹 这是我的安卓代码 package com example bitmaptest import java io ByteArrayOutputStream import ja
  • 为什么Android的ImageReader类这么慢?

    我尝试了适用于 Android 3 4 1 的全新 OpenCVJavaCamera2View但它太慢了 仅显示相机视图约 15 fps 当我尝试较旧的JavaCameraView相反 它给了我很好的结果 30fps 这是我相机的极限 我想

随机推荐

  • 在构造函数中声明属性 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 单击通知