它运行良好,应用程序也在生产中。但最近我们注意到,在android 12上,当用户单击通知时,它不会打开应用程序,并导航深度链接所具有的片段/活动。
但是,一旦用户打开应用程序,深度链接就会被触发(如果用户之前单击了通知)并将用户移动到位于深度链接中的目的地。而且,如果用户在应用程序中并单击通知,它也会正常工作。但是如果用户在应用程序之外,在这种情况下就不能工作了。我们还尝试将firebaseBomVersion升级到最新版本(31.0.2)。但似乎什么都起不到作用。
还有其他与深度链接不适用于android 12有关的在线帖子,但它们都有不同的问题。
有人知道这个问题吗?
发布于 2022-11-04 14:56:23
最后,问题是
system_process E/NotificationService: Indirect notification activity start (trampoline) from com.xyz.debug blocked在android 12和更高版本上,我们不能在通知龙头上启动服务或广播接收器的活动(这就是我在这里所做的),我试图从广播接收器启动一个活动,当用户点击通知时,我正在发射该广播。
当用户与通知交互时,一些应用程序通过启动一个应用程序组件来响应通知龙头,该组件最终启动用户最终看到和与之交互的活动。这个应用程序组件被称为通知蹦床。 为了改善应用程序性能和用户体验,针对Android 12或更高版本的应用程序不能从用作通知蹦床的服务或广播接收器开始活动。换句话说,当用户点击通知或通知中的操作按钮后,应用程序就不能在服务或广播接收器中调用startActivity()。 当应用程序试图从充当通知蹦床的服务或广播接收器启动活动时,系统将阻止该活动启动,并且
我是如何简单地解决这个问题的呢?我使用了相同的代码,即在对Android11和更低设备的通知中向setContentIntent()添加一个广播,并将它附加到sendBroadcast()上,但是对于Android12和更高的设备,我将广播替换为activity (一种具有透明背景的活动),在该活动中,我放置了与我在Android11和较低设备上使用的相同的广播代码,然后使用sendBroadcast()方法,我自己发射了这个意图,在完成该活动之后。
https://stackoverflow.com/questions/74312248
复制相似问题