Intereting Posts
Растровые изображения ALPHA_8 и getPixel Вы хотите зарегистрировать файл R.java в VCS? Разрешить внешнее касание для DialogFragment Android, установить установленный размер приложения и дату Выберите несколько изображений из фотоальбома на Android с помощью намерений Строка состояния Android, прокручивающаяся с раскладкой координатора, оставляя значки состояния, перекрывающие заголовок панели инструментов Предотвратить андроид от повторного создания стека активности после сбоя Специальная раскладка клавиатуры для Android, оставляющая край белого цвета сбоку Невозможно разрешить хост «<insert URL here>» Нет адреса, связанного с именем хоста Не удалось создать интерактивное приложение на Android-устройстве: не удалось найти цель с хэш-строкой 'android-23' Как получить растровое изображение из необработанного изображения Безопасность облачных сообщений google Разницу между пулемером андроида и пулом потоков исполнителей Как получить доступ к строке с использованием динамического имени строки в android (аналогично eval в javascript)? Android: относительная компоновка Две кнопки занимают все доступные горизонтальные пространства

Android: как получить пол и возраст пользователя?

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

Каковы различные способы получения возраста и пола пользователя? (Которые соответствуют политике Google Play)

Например, есть ли способ получить эту информацию через Службы Google Play?

Благодарю.

Solutions Collecting From Web of "Android: как получить пол и возраст пользователя?"

Вы должны использовать interface Person , у вас будет все, что вам нужно знать о пользователе. (Через getGender() и getBirthday() (или getAgeRange() )

Изменить: для использования, например, предположим getGender (), вы бы сделали что-то вокруг этого:

  GoogleApiClient client = new GoogleApiClient.Builder(this) .addApi(Plus.API) .addScope(Plus.SCOPE_PLUS_LOGIN) .setAccountName("users.account.name@gmail.com") .build(); client.connect(); Person.Gender gender; Person personProfile = Plus.PeopleApi.getCurrentPerson(client); if (person.hasGender()) // it's not guaranteed gender = person.getGender(); 

Альтернативный, возможно, более надежный подход к угадыванию пола вашего пользователя в Android будет касаться стороннего API с адресом электронной почты вашего пользователя, а затем позволить API искать первое имя внутри строки электронной почты, сопоставлять его с базой данных Имена, затем верните вам уровень доверия полов +. Я использовал «Гендерный API» (без аффилиации).

Просто добавьте в AndroidManifest:

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

Затем получите адреса своих пользователей Gmail:

 Pattern pattern = Patterns.EMAIL_ADDRESS; Account[] accounts = AccountManager.get(context).getAccounts(); for (Account account : accounts) { if (pattern.matcher(account.name).matches()) { String emailAddress = account.name // grab each of your user's email addresses } } 

Затем, если вы хотите использовать API, который я использовал, получите ключ от gender-api.com и нажмите эту ссылку для каждого адреса электронной почты:

 https://gender-api.com/get?email=ANDROID_USER_EMAIL_ADDRESS&key=<YOUR_PRIVATE_KEY> 

Этот API возвращает пол и уровень уверенности, и я уверен, что есть другие, которые делают то же самое.