3

由于android 12, 通知蹦床限制导致我的项目出现大问题。我开发了一个 SDK,它用于显示本地通知。我的问题是我使用的通知是在应用程序中显示横幅或打开 Web 视图。对于Notification trampoline 限制,我需要使用pending intent指定通知点击事件。我的问题是,从 SDK 方面,我找到了应用程序包 Id 和午餐 MainActivity,每次我点击通知时,即使应用程序在后台或前台,应用程序也会重新启动。

我需要了解以下内容

  1. 我怎么知道应用程序何时在前台或后台处于活动状态
  2. 如果存在需要知道哪个活动在栈顶

您是否遇到过相同或类似的问题?你是怎么解决的?任何帮助将不胜感激。谢谢!

4

1 回答 1

4

我正在使用透明的活动来处理这个问题。所有通知相关的工作都在透明活动中处理。

Intent intent = new Intent(mContext, NotificationActivity.class);
intent.putExtra("notification", parseInt(this.mActionDetail.getNotifyId()));
PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
builder.setContentIntent(pendingIntent);
builder.setAutoCancel(true);
notificationManager.notify(parseInt(this.mActionDetail.getNotifyId()), builder.build());

创建透明活动 NotificationActivity.class

于 2021-09-26T08:28:02.443 回答