【发布时间】:2022-02-04 15:32:03
【问题描述】:
不久前我有一段运行良好的代码:
Intent browserAction = new Intent(Intent.ACTION_VIEW, uri);
browserAction.setData(uri);
browserAction.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(browserAction);
它在 BroadcastReceiver 的 onReceive 中,用于从通知操作(也可以执行其他操作的 PendingIntent)触发浏览器。出于某种原因(可能是android更新),它现在仅在我在前台使用我的应用程序阅读通知时才有效。如果我在我的应用之外并单击通知操作,则不会调用浏览器。
关于可能发生的事情以及我应该检查什么的任何想法?
编辑:如果我直接从 Intent.ACTION_VIEW 执行 PendingIntent(而不是在 BroadcastReceiver 中使用 Intent.ACTION_VIEW),即使在应用程序之外,该操作也会很好地触发。但我不能依赖这个,因为我的 BroadcastReceiver 在调用浏览器后做了其他事情。
【问题讨论】:
-
我认为你必须使用挂起的意图而不是意图
标签: java android android-intent android-notifications