Программно определить, является ли приложение версией MarketPlace

У меня есть приложение, которое предлагается внутри и за пределами MarketPlace.

Есть ли способ определить из кода, откуда пришло приложение?

У меня есть несколько косвенных методов...

1) Я мог бы просто сделать вывод о том, отмечена ли у них галочка "Разрешить установку приложений, не относящихся к маркету"...

http://developer.android.com/reference/android/provider/Settings.html

2) Или я мог бы просто сделать отдельные сборки и сделать это явным образом в коде.

3 ответа

Если PackageManager.getInstallerPackageName() возвращается com.google.android.feedback для вашего приложения, то оно было установлено Android Market.

Сделайте это явным в android:versionName каждого выпуска.

И если код доступен для людей, чтобы скомпилировать свои собственные APK, установите android:versionName "обычай" и просто временно изменить его при сборке для маркета.

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

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