android - 深度链接:如何返回调用深度链接的应用程序?
问题描述
是否可以跟踪应用程序的深层链接的来源?在我的项目中,我成功地从浏览器深度链接到我的应用程序,完成了我需要做的事情,然后我希望被发送回浏览器。但是,调用finish()
不起作用,因为出于某种原因,我的主屏幕是我的浏览器(我单击深层链接)和我的应用程序之间的堆栈中的活动,所以我最终只是回到了手机的主屏幕上.
我的想法是以某种方式识别深层链接的“调用者”。有没有办法在不通过深层链接的查询参数中的用户代理的情况下做到这一点?
我现在的位置如下:
var browser = "com.android.chrome"
var intent = packageManager.getLaunchIntentForPackage(browser)
startActivity(intent)
但是,显然,我需要知道它们来自的浏览器包的名称。
(或者,如果有人知道为什么我的深层链接可能会转到 [浏览器 -> 主屏幕 -> 应用程序] 而不是 [浏览器 -> 应用程序],那也会有所帮助。)
这是调用之前的活动堆栈finish()
,从运行adb shell dumpsys activity | grep -i run
:
Running activities (most recent first):
Run #0: ActivityRecord{50a3a82 u0 io.myapp/.activity.ActivityMain t6634}
Running activities (most recent first):
Run #0: ActivityRecord{b13082f u0 com.teslacoilsw.launcher/.NovaLauncher t6481}
Running activities (most recent first):
Run #0: ActivityRecord{c974ad u0 com.android.chrome/com.google.android.apps.chrome.Main t6607}
我的主屏幕在哪里com.teslacoilsw.launcher/.NovaLauncher
。
解决方案
推荐阅读
- html - 删除所有 html 标签的 sed 命令行故障
- sql - SQL:查找除指定字符之外的任何字符的第一次出现
- javascript - 文档对象在反应形式中未定义
- twitter-bootstrap - 手动更改用于打印的介质宽度
- css - HTML 没有正确显示?(laravel-dompdf 包)
- android - Android ImageView 左右有空格
- vba - Excel 宏/文档打印乱序
- php - 试图在 laravel 5.6 中获取非对象的属性“id”
- sap - xsjs $.hdb.getConnection 未定义
- r - 使用 ggplot2 将组平均线添加到条形图