Программно определить, является ли приложение версией 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 даже не знает, откуда пришло приложение, когда вы стираете его кеш, я очень сомневаюсь, что есть какой-то другой способ выяснить это.