Intereting Posts
Не удалось получить неизвестное свойство 'assembleRelease' для проекта Инструмент для пакетного преобразования растровых изображений ресурса android в разные плотности Будет ли локальный обработчик с postDelayed получать мусор, собранный до вызова runnable Могут ли таблетки делать звонки? (Телефония) Использование SQLite Trigger для обновления поля «LastModified» Android – общий ресурс между двумя приложениями Перейти к выбору счетчика Kotlin: Можем ли мы использовать @Subscribe EventBus (GreenRobot) в Котлине? Как использовать эффект Flipboard на Android Ошибка Strange xml: неправильная строка заканчивается Android Studio «Структура проекта» не подходит должным образом Каков исчерпывающий список всех действий «android.intent.action», доступных в Android SDK? Практическое использование @Ignore в королевстве? Пользовательские настройки чувствительности на гироскопе через андроид api или ядро? Лучший способ определения расстояния с мощностью сигнала WI-FI

Как получить адрес электронной почты с адресом первичной покупки

До появления Android 3.0 первой учетной записи com.google зарегистрированной на телефоне, была основная учетная запись и единственная учетная запись, используемая Android Market.

На устройствах на Android 3.0 и выше я больше не могу полагаться на это ( Account[0] ), чтобы получить адрес электронной почты клиента.

Есть ли способ узнать, какая учетная запись com.google в настоящее время совершает покупку?

(Все, что мне нужно, это индекс в массиве Account[] для типа учетной записи com.google . Я могу получить адрес электронной почты после того, как у меня есть соответствующий индекс)

Боюсь, это невозможно. Из того, что я нашел, похоже, что учетная запись, делающая покупку in-app, является учетной записью, используемой для установки приложения, которое вы не знаете. Я думаю, можно было бы прочитать его из базы данных приложений Play Store на корневых телефонах.

Похоже, что даже после того, как покупка была выполнена с помощью API разработчика Google Play для Android, даже не удалось найти учетную запись покупателя, но не уверен, почему это так.

Если вы, случайно, узнаете это, дайте мне знать.

Я просто сделал быстрый поиск в Google и наткнулся на это на этом сайте.

Вы можете использовать AccountManager.getAccounts или AccountManager.getAccountsByType чтобы получить список всех имен учетных записей на устройстве. К счастью, для определенных типов учетных записей (включая com.google ) имена учетных записей являются адресами электронной почты. Пример фрагмента ниже.

 Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ Account[] accounts = AccountManager.get(context).getAccounts(); for (Account account : accounts) { if (emailPattern.matcher(account.name).matches()) { String possibleEmail = account.name; ... } } 

Обратите внимание, что для этого требуется разрешение GET_ACCOUNTS :

 <uses-permission android:name="android.permission.GET_ACCOUNTS" /> 

Подробнее об использовании AccountManager можно найти в примере кода Contact Manager в SDK.

Firs имя и фамилия >> код java?

Email добавить код

 Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ Account[] accounts = AccountManager.get(getApplicationContext()).getAccounts(); for (Account account : accounts) { if (account.type.equals("com.google")) { email = account.name.toString(); break; } else if (emailPattern.matcher(account.name).matches()) { email = account.name.toString(); } } 
 import android.provider.ContactsContract; AccountManager am = AccountManager.get(this); Account[] accounts = am.getAccountsByType("com.google"); //you can set current sync account.. boolean syncEnabled = ContentResolver.getSyncAutomatically(accounts[0], ContactsContract.AUTHORITY);