如何获取调用我的应用程序的外部应用程序的包名称
How to get the package name of an external app which calls my app
我的应用 com.test.sample 被外部应用 com.testExternal.outsideApp 调用。外部应用程序使用意图通过调用 startActivityForResult 来调用 com.test.sample 的 MainActivity。我正在寻找的是一种以编程方式获取外部应用程序包名称的方法。我尝试了几种方法,比如
String parentPackageName = this.getParent().getPackageName();
//这失败了,因为父级总是返回 NULL。
String packageName = this.getIntent().getPackage();
//这个returns当前应用的包名,不是我想要的
有没有其他方法可以获取调用方应用的包名?
如果您的应用程序是从 Activity#startActivityForResult
启动的,您可以使用 Activity#getCallingActivity()
来执行此操作。
我的应用 com.test.sample 被外部应用 com.testExternal.outsideApp 调用。外部应用程序使用意图通过调用 startActivityForResult 来调用 com.test.sample 的 MainActivity。我正在寻找的是一种以编程方式获取外部应用程序包名称的方法。我尝试了几种方法,比如
String parentPackageName = this.getParent().getPackageName();
//这失败了,因为父级总是返回 NULL。
String packageName = this.getIntent().getPackage();
//这个returns当前应用的包名,不是我想要的
有没有其他方法可以获取调用方应用的包名?
如果您的应用程序是从 Activity#startActivityForResult
启动的,您可以使用 Activity#getCallingActivity()
来执行此操作。