检查哪个市场(亚马逊或三星或Google)是安装的应用程序



检查在设备中安装Android应用的亚马逊或三星市场还是Google Play。

说,如果我在Android手机中安装了名为ABC的应用程序。在我的应用程序中,我列出了手机中安装的所有应用程序,需要从下载的位置列出市场。

如何完成?

引用检测是否从Android Market下载应用程序的答案

从API 5开始,您可以使用 packagemanager.getInstallerpackagename(String)。来自 文档:

检索安装软件包的应用程序的包装名称。 这标识了包装来自哪个市场。

要获得Android市场的包装,这篇文章可能会有所帮助。

我想使用适当的设备,您可以构建一个应用程序来输出要识别的每个市场的包装名称。

一个选项是单独包装。如果在某个时候您决定使用任何特定于市场的功能,例如许可或应用内付款,则无论如何都需要这样做。

可以管理的方法是一个库项目,其中包含几乎所有内容和许多小型项目,并且仅包含细节。

缺点:多个项目而不是一个项目。好处:可管理性,可维护性。

编辑:如果您仍然更喜欢使用证书为此,则此示例可以帮助:thomascannon.net/misc/android_apk_certificate/。

请发布您最终提出的解决方案。

我这样做(所有项目的单个SRC和RES文件夹,每个市场的不同启动活动):

复制您的res和src文件夹,例如/sharedSources/

为Google/Amazon/Samsung制作了三个新项目。
从每个项目中删除RES和SRC文件夹

在每个项目链接中链接到/sharedSources/res和.../src
现在进行三个新活动:
例如GoogleLeLELELECENTING,AMAZONLICENT,SAMSUNGLICENSING

Google Project清单:将GoogleLeLealinging设置为发射器活动
三星项目清单:将Samsungllicing设置为发射器活动
亚马逊项目清单:将AmazonLicensing设置为启动器活动

Google Project:从构建中删除Samsunglicensing和Amazonlicensing活动(不要删除)三星项目:从构建中删除GoogleLeLELELELELECENTING和AMAZONLICEND活动(不要删除)亚马逊项目:从构建中删除Samsunglicensing和GoogleLealIcement Active(不要删除)

完成。
导出每个项目。

请记住,您现在有三个AndroidManifests,需要相应地进行编辑。还要记住,您一次只能打开一个项目。无论如何,没有理由开放一个以上,因为它们共享相同的来源...

实际上,我这样做是为了在Linux和Windows之间进行交换(我的共享信息夹在共享的HDD上)仅用于1个项目,但对于不同的市场而言,它非常有效。

最新更新