• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

android - 如何通过点击推送消息通知来判断应用程序已启动

[复制链接]
菜鸟教程小白 发表于 2022-12-13 02:30:34 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个从服务器接收推送通知的 Worklight 应用程序。通知意味着当前用户有来自其他用户的新消息。用户可以通过访问应用内的消息页面然后进入特定对话页面来阅读它们。

我想在代码中区分用户 Intent 。该应用程序将:

  1. 如果用户正常启动应用(不是通过点击新通知),则向用户显示常规应用主屏幕。
  2. 如果用户通过点击通知启动/恢复应用,则向用户显示消息页面。
  3. 如果在应用处于前台时收到,则仅更新屏幕消息计数(无论哪个页面处于 Activity 状态)。

问题是:有没有可靠的方法来区分上述情况?

在另一个线程中,我看到了一个建议,即记住恢复事件和 onReadyToSubscribe 事件的时间戳,并假设我们在通知到达时处于 sleep /非 Activity 状态,例如就在这之后。这将使我能够区分 2 和 3。

但是,1 不在此范围内。 IE。如果有新消息,但用户正常启动了应用程序,应用程序将无法知道这一点,并认为它是通过点击通知启动的。这样,用户打算查看应用主屏幕,但我们将他转移到消息页面。

对于 iOS 和 Android 是否有可靠的解决方法?

Worklight 版本 6.2.0.00-20140922-2259。



Best Answer-推荐答案


在纯 Native 应用程序中,您可以知道“用户从哪里打开应用程序”,这意味着是通过点击收到的通知还是通过点击应用程序图标。

在基于 Worklight 的混合应用程序中,如果仅使用 JavaScript API,这是不可行的,因为所有路径都到达相同的目的地,即 pushNotificationReceived 函数。因此,无论您是点击通知或应用图标,还是将应用置于前台,都会调用上述函数。


解决方案可能是将您的实现基于以下知识中心文档主题:Using native and JavaScript push APIs in the same app .

这样,结合使用 native 代码和 JS 代码,您可以处理收到通知但用户决定点击应用程序图标而不是通知的情况。

一个端到端的例子会有点涉及到实现,但如果你遵循文档主题中的代码示例,你应该到达那里......

关于android - 如何通过点击推送消息通知来判断应用程序已启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26358191/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap