出于安全目的,我需要找出哪个应用程序正在向我的应用程序启动深层链接
有人做过吗?
有一些解决方案,例如Using Pending intents to find creator package name,但对我来说不起作用。
有什么想法吗?
答案 0 :(得分:0)
您可以使用getReferrer().getHost()
获取启动您的应用的应用的程序包名称。
例如,如果从启动您的应用的Google文档启动了链接,则它将返回com.google.android.apps.docs.editors.docs
。
请参见Activity#getReferrer(),但正如文档所述,如果某个应用想要欺骗它或将其保留为空,则可以。所以不是100%。
否则,请使用Get Recent and Running application list not processes之类的东西,并在您之前获得最新的应用/活动。