Контекст задачи: хочу объединить две платежные системы от RuStore и Google Play так чтобы нужная активировалась в зависимости от того откуда было установлено приложение. Если из RuStore значит активируется платежка с поддержкой СБП и платежами в России, а если загружено из GP - значит их платежка и будет работать.
Да! Было бы круче подгружать нужный платежный модуль в зависимости от наличия или отсутствия RuStore, но пока так.
Для определения источника установки Android-приложения на смартфон можно использовать ряд методов. Один из способов - использовать пакетный менеджер (PackageManager) в Android для получения информации о приложении. Вот пример кода на Java, который позволяет получить источник установки приложения:
PackageManager packageManager = getPackageManager();
String installerPackageName = packageManager.getInstallerPackageName(getPackageName());
if (installerPackageName != null) {
if (installerPackageName.equals("com.android.vending")) {
// Приложение было установлено из Google Play Store
} else {
// Приложение было установлено из другого источника
}
} else {
// Не удалось определить источник установки
}
В этом примере мы используем метод getInstallerPackageName(), чтобы получить пакетное имя установщика приложения. Если значение равно "com.android.vending", то приложение было установлено из Google Play Store. В противном случае, оно было установлено из другого источника.
Обратите внимание, что этот метод может не всегда быть надежным, так как некоторые сторонние магазины приложений могут изменять значение пакетного имени установщика.
Как программно определить из какого источника было установлено android приложение на смартфон?
19 октября 202319 окт 2023
285
1 мин