是否可以跟踪到应用程序的深层链接的来源?
在我的项目中,我成功地将浏览器与应用程序进行了深度链接,完成了我需要做的事情,然后希望将其发送回浏览器。但是,调用class MyClass {
myTest() {
console.log('it works');
}
runMyTest() {
this.myTest();
}
}
var myClass = new MyClass();
myClass.runMyTest();
不起作用,因为由于某种原因,我的主屏幕是我的浏览器(单击深层链接的位置)和我的应用之间的堆栈中的活动,因此最终我被放回原处在手机的主屏幕上。
我的想法是以某种方式确定深层链接的“调用方”。有没有一种方法可以在不传递例如深层链接查询参数中的用户代理的情况下进行此操作?
我现在的位置如下:
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}
是我的主屏幕。