我有一个问题需要检测(使用本机方式)如果从应用程序外部(例如,从浏览器)启动了深层链接,现在我检查getIntent().getPackage() == null
但这不适用于Android 6,因为我配置了应用链接(see)等深层链接,其中包含getIntent().getPackage()
。
有什么想法吗?
答案 0 :(得分:0)
您仍然可以在Android 6之前使用getIntent().getPackage() == null
版本,并在Android 6及更高版本上使用getReferrer()
(available since API 22)。
答案 1 :(得分:0)
您应该检查activity.getReferrer()
或activity.getIntent().getParcelableExtra(Intent.EXTRA_REFERRER)
,具体取决于版本代码。这些方法返回引用URI。然后,您可以按referrerUri.getScheme()
检查方案。
这是一个很棒的codelab示例,展示了如何跟踪深层链接引用(第6步是您所需要的)。
https://codelabs.developers.google.com/codelabs/deeplink-referrer/#5
答案 2 :(得分:0)
条件为(签入活动):
intent?.action == Intent.ACTION_VIEW && intent?.data != null