Android 如何使用区分安装的应用程序是否与我相同

Android 如何使用区分安装的应用程序是否与我相同,android,Android,我有一个appstore,我想和google play store和amazon store一样,它们在调用getInstallerPackageName()时具有唯一的值。类似于从亚马逊安装的应用程序将返回com.amazon.venezia,从谷歌play安装的应用程序将返回com.android.vending 我也可以这样做吗?因此,当调用从我的appstore下载并安装的应用程序的getInstallerPackageName()时,会返回例如com.myapp.vending 另外,

我有一个appstore,我想和google play store和amazon store一样,它们在调用
getInstallerPackageName()
时具有唯一的值。类似于从亚马逊安装的应用程序将返回
com.amazon.venezia
,从谷歌play安装的应用程序将返回
com.android.vending

我也可以这样做吗?因此,当调用从我的appstore下载并安装的应用程序的
getInstallerPackageName()
时,会返回例如
com.myapp.vending


另外,我知道如果应用程序是侧加载的,调用
getInstallerPackageName()
将返回null,但是可能存在这样的情况:应用程序可以从其他第三方源下载和安装,而不是从我的应用程序下载和安装。调用
getInstallerPackageName()
时,安装此应用程序的两种方法都将返回null

要设置安装程序包名称,您首先需要使用Intent安装应用程序,正如您所理解的那样。安装成功后,可以使用适当的参数调用
setInstallerPackageName()

资料来源:


要设置安装程序包名称,您首先需要使用Intent安装应用程序,正如您所理解的那样。安装成功后,可以使用适当的参数调用
setInstallerPackageName()

资料来源:


我在执行安装提示时抛出了一个类似于您提供的链接的意图。当调用
getInstallerPackageName()
?@user1865027时,会不会抛出清单中的包名?我不完全确定。我建议自己测试一下。你可以制作一个虚拟应用程序来安装你的安装程序应用程序。不,它不起作用。我找不到设置InstallerPackageName的方法。packageManager有此方法,但在安装后设置它没有意义。您有吗?您可以在安装程序应用程序中调用
setInstallerPackageName()
。是的,但问题是我不知道如何/在哪里调用`setInstallerPackageName()。我基本上抛出了一个意图与路径的apk一样,你提供的链接。我只能在安装完成后设置它。我正在通过抛出一个类似于您提供的链接的意图来进行安装提示。当调用
getInstallerPackageName()
?@user1865027时,会不会抛出清单中的包名?我不完全确定。我建议自己测试一下。你可以制作一个虚拟应用程序来安装你的安装程序应用程序。不,它不起作用。我找不到设置InstallerPackageName的方法。packageManager有此方法,但在安装后设置它没有意义。您有吗?您可以在安装程序应用程序中调用
setInstallerPackageName()
。是的,但问题是我不知道如何/在哪里调用`setInstallerPackageName()。我基本上抛出了一个意图与路径的apk一样,你提供的链接。我只能在安装完成后进行设置可能重复的