Android:如何检测应用程序是否从市场下载

7

我有一个应用程序,我希望通过应用市场和我的网站进行发布。如何仅使用一种构建和一把密钥来检查应用程序是否从应用市场下载的?

这个问题的解决方案是使用不同的密钥对代码进行签名,但我们最好只有一个构建。


据我所知,这在一个构建中是做不到的。 - Sergey Glotov
Sergey - 把这个作为答案,我会标记它为正确的。从我所了解的情况来看,你是正确的,这是不可能的。 - Martyn
5个回答

4

3
一些开发者报告称,在应用程序通过市场进行安装时,getInstallerPackageName()不一定会返回相同的值(或根本不返回任何值),因此这可能不是一个可行的解决方案。 - Paul Lammertsma

2

看起来这似乎无法完成。


1
请注意,只有在 OP 的限制条件下无法完成。可以通过使用唯一密钥签署市场版本构建,并将密钥的校验和与应用程序内部存储的值进行比较来完成操作。个人而言,我更喜欢为发布版和调试版自定义构建脚本。 - Paul Lammertsma

1

1

在我的Android 1.5手机上,只有通过市场安装的应用程序才会在市场应用程序的“我的下载”中列出,因此问题是您是否可以在运行时检索该列表。我不知道在Android 2.x上是否相同。


0

我不知道这是否真正相关,但如果您可以阅读/data/system/packages.xml市场应用程序似乎具有installer="com.google.android.feedback",而那些与系统构建捆绑在一起的应用程序和本地编译的应用程序则没有。


2
最近,Android市场有一个名为“com.android.vending”的包。 - Pointer Null

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接