我有一个应用程序,我希望通过应用市场和我的网站进行发布。如何仅使用一种构建和一把密钥来检查应用程序是否从应用市场下载的?
这个问题的解决方案是使用不同的密钥对代码进行签名,但我们最好只有一个构建。
我有一个应用程序,我希望通过应用市场和我的网站进行发布。如何仅使用一种构建和一把密钥来检查应用程序是否从应用市场下载的?
这个问题的解决方案是使用不同的密钥对代码进行签名,但我们最好只有一个构建。
packageManager.getInstallerPackageName(context).equals("com.google.android.feedback")
getInstallerPackageName()
不一定会返回相同的值(或根本不返回任何值),因此这可能不是一个可行的解决方案。 - Paul Lammertsma看起来这似乎无法完成。
市场上的付费应用可以使用Android许可模块来确定它们是否是从市场购买的。但对于免费应用,我不知道有什么解决方案。
http://developer.android.com/guide/publishing/licensing.html
在我的Android 1.5手机上,只有通过市场安装的应用程序才会在市场应用程序的“我的下载”中列出,因此问题是您是否可以在运行时检索该列表。我不知道在Android 2.x上是否相同。
我不知道这是否真正相关,但如果您可以阅读/data/system/packages.xml市场应用程序似乎具有installer="com.google.android.feedback",而那些与系统构建捆绑在一起的应用程序和本地编译的应用程序则没有。