Android: определить, если приложение было загружено с маркета

У меня есть приложение, которое я хотел бы распространять через рынок, а также с моего собственного сайта. Как мне, используя только одну сборку и один ключ, проверить, было ли приложение загружено с рынка или нет?

На этот вопрос отвечает код, подписанный разными ключами, но в идеале мы хотим одну сборку.

5 ответов

Решение

Кажется, что это не может быть сделано.

packageManager.getInstallerPackageName(контекст).equals ("com.google.android.feedback")

http://developer.android.com/reference/android/content/pm/PackageManager.html)

На моей трубке Android 1.5 только приложения, установленные через Market, перечислены в разделе "Мои загрузки" в Market App, поэтому вопрос заключается в том, можете ли вы получить этот список во время выполнения. Я не знаю, так ли это с Android 2.x.

Платные приложения с рынка могут использовать модуль лицензирования Android, чтобы определить, покупаются ли они на рынке. Но для бесплатных приложений я не знаю решения

http://developer.android.com/guide/publishing/licensing.html

Я не знаю, действительно ли это коррелирует или нет, но если вы можете прочитать /data/system/packages.xml маркетинговые приложения, кажется, имеют installer="com.google.android.feedback", в то время как те, которые включены в сборку системы и те, локально скомпилированный нет.

Другие вопросы по тегам