检查安装了哪个应用市场(亚马逊或三星或谷歌)?

时间:2012-10-26 06:49:35

标签: android

检查亚马逊或三星市场或谷歌播放是否在设备中安装了Android应用程序。

假设我的Android手机中安装了名为ABC的应用程序。在我的应用程序中,我列出了手机中安装的所有应用程序,并且需要列出从哪里下载的市场。

如何做到这一点?

3 个答案:

答案 0 :(得分:0)

一种选择是单独打包它们。如果您在某些时候决定使用任何特定于市场的功能,例如许可或应用程序内付款,那么无论如何都需要这样做。

一种可管理的方法是一个图书馆项目,其中包含几乎所有内容和一些重新引用它并仅包含细节的迷你项目。

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

编辑:如果你仍然喜欢使用证书,这个例子可以提供帮助:thomascannon.net/misc/android_apk_certificate/。

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

答案 1 :(得分:0)

Detect if app was downloaded from Android Market

引用答案
  

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

     

检索安装包的应用程序的包名称。   这确定了包裹来自哪个市场。

     

要获取Android电子市场的套餐,这篇文章可能有帮助。

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

答案 2 :(得分:0)

我是这样做的(所有项目都有一个src和res文件夹,每个市场都有不同的LauncherActivities):

将res和src文件夹复制到/ sharedsources /

为Google /亚马逊/三星制作三个新项目 从每个项目中删除res和src文件夹

在每个项目中链接到/ sharedsources / res和... / src
现在做三个新的活动:
例如GoogleLicensing,AmazonLicensing,SamsungLicensing

Google Project Manifest:将GoogleLicensing设置为启动器活动
Samsung Project Manifest:将SamsungLicensing设置为Launcher Activity
Amazon Project Manifest:将AmazonLicensing设置为Launcher Activity

Google Project:从构建中移除SamsungLicensing和AmazonLicensing活动(不要删除) 三星项目:从构建中删除GoogleLicensing和AmazonLicensing活动(不要删除) 亚马逊项目:从构建中删除SamsungLicensing和GoogleLicensing活动(不要删除)

完成。
导出每个项目。

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

实际上我这样做是为了能够在Linux和Windows之间交换(我的共享资源文件夹在共享的硬盘上)仅用于1个项目,但它对于不同的市场也非常好。