Android Pay - Как определить, установлен ли Android Pay?
Вот этот код (взят из /questions/35996790/obnaruzhit-prilozhenie-ustanovleno-ili-net/35996802#35996802):
private boolean isAppInstalled(String packageName) {
PackageManager pm = getPackageManager();
boolean installed = false;
try {
pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
installed = true;
} catch (PackageManager.NameNotFoundException e) {
installed = false;
}
return installed;
}
Но я не знаю, что положить в packageName. Я старался com.google.android.gms.wallet
(который является пакетом некоторых фрагментов Wallet, используемых Android Pay), но вышеуказанный метод возвращает false.
2 ответа
Решение
Получается, что требуемое имя пакета - "com.google.android.apps.walletnfcrel". При этом вы можете вызвать метод в вопросе, чтобы определить, установлен ли Android Pay.
на Котлине:
private fun isAppInstalled(packageName: String): Boolean {
return try {
activity?.packageManager?.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES)
true
} catch (e: PackageManager.NameNotFoundException) {
false
}
}