java - 如何获取前台运行的Android应用程序的Activity实例?

标签 java android firebase firebase-cloud-messaging android-push-notification

如何获取正在运行的 Andoind 应用程序的当前顶级 Activity 的实际 Activity 实例

原因:当我的应用程序在前台运行时,我从 Firebase 收到 OnMessageReceived 数据负载,并且我需要 finish() 它。

注意:还有大量其他信息可以使用 getRunningTasks() 或 getAppTasks() 获取 ComponentName,但所有这些似乎都没有提供任何获取实际 Activity 实例的方法。

最佳答案

更好的方法是使用本地广播来通知您的 Activity 自行完成。
您只需在您的 Activity 中注册一个广播接收器,然后在您的 FCM 消息服务中发送广播。检查this page关于如何做到这一点。

注意:完成 Activity 后,请务必取消注册接收器。

关于java - 如何获取前台运行的Android应用程序的Activity实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43972313/

相关文章:

android - FirebaseMessagingService onReceivedMessage(RemteMessage rm) 在 oreo 版本中应用服务被终止模式时不调用

java - OpenSaml3 文档

android - 单击项目菜单时如何关闭抽屉菜单?

java - 如何为 Firebase Firestore 多对多关系编写读取规则

android - Android中在线数据OkHttpClient如何使用setCache

android - Soundpool onloadcomplete 通知

android - 从 firebase 读取数据,并填充到 ListView 中

java - 步骤查找元素中的重载

java - 如何在开源 Java 中禁用数组边界检查?

Java 访问 token PKCS11 未找到提供程序