android - 如何确定谁在我的应用中启动了深层链接
解决方案
您可以使用getReferrer().getHost()
来获取启动您的应用程序的应用程序的包名称。
例如,如果一个链接是从启动您的应用程序的 Google 文档启动的,它将返回com.google.android.apps.docs.editors.docs
.
请参阅Activity#getReferrer(),但正如文档所述,如果应用程序想要欺骗它或将其留空,它可以。所以,不是100%。
否则,请诉诸诸如获取最近和正在运行的应用程序列表之类的方法而不是进程,并获取您之前的最后一个应用程序/活动。
推荐阅读
- html - 样式表中未知媒体查询的后备包括
- delphi - 替换存储文本表单(收据)中的文本集宽度、对齐方式、小数
- ruby-on-rails - 在 ROR 中,如果发生任何错误,如何关闭打开的数据库连接?
- mysql - 如何在 SQL 中的事件中嵌入聚合函数
- javascript - 在javascript中制作一个魔方
- nrules - 为什么 IContext.RetractLinked 需要两个参数?
- awk - 使用 AWK,如何将十进制数转换为十六进制
- android - 在 Jetpack Compose 中的 API 响应后更新 LazyColumn
- amazon-web-services - 云平台和普通网站的真正区别是什么?
- c# - SqlBulkCopy WriteToServer 使用 IDataReader 而不是 DataTable 和以编程方式调整的字段值