Как вы можете получить адрес электронной почты пользователя Android?
У меня есть android.permission.READ_OWNER_DATA
но я не могу найти надежный код, который бы объяснил, как я могу прочитать адрес электронной почты владельца устройства. Как я могу это сделать?
- Как добавить изображение в текст TextView?
- Как основной stream, созданный Java
- TimerTask vs Thread.sleep vs Handler postDelayed - наиболее точная функция вызова каждые N миллисекундов?
- Android - запись пользовательского (составного) компонента
- Почему возникает ArrayIndexOutOfBoundsException и как его избежать в Android?
- NetworkSecurityConfig: нет настроек сетевой безопасности - ошибка Android 7.0?
- Какая версия HTTP-клиента Apache поставляется в Android 1.6?
- HashMap с несколькими значениями под одним и тем же ключом
Почему ты хочешь это сделать?
import android.accounts.Account; import android.accounts.AccountManager; import android.content.Context; /** * This class uses the AccountManager to get the primary email address of the * current user. */ public class UserEmailFetcher { static String getEmail(Context context) { AccountManager accountManager = AccountManager.get(context); Account account = getAccount(accountManager); if (account == null) { return null; } else { return account.name; } } private static Account getAccount(AccountManager accountManager) { Account[] accounts = accountManager.getAccountsByType("com.google"); Account account; if (accounts.length > 0) { account = accounts[0]; } else { account = null; } return account; } }
В вашем AnroidManifest.xml
Работа над версией MarshMallow
btn_click = (кнопка) findViewById (R.id.btn_click);
btn_click.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { int permissionCheck = ContextCompat.checkSelfPermission(PermissionActivity.this, android.Manifest.permission.CAMERA); if (permissionCheck == PackageManager.PERMISSION_GRANTED) { //showing dialog to select image String possibleEmail=null; Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ Account[] accounts = AccountManager.get(PermissionActivity.this).getAccounts(); for (Account account : accounts) { if (emailPattern.matcher(account.name).matches()) { possibleEmail = account.name; Log.e("keshav","possibleEmail"+possibleEmail); } } Log.e("keshav","possibleEmail gjhh->"+possibleEmail); Log.e("permission", "granted Marshmallow O/S"); } else { ActivityCompat.requestPermissions(PermissionActivity.this, new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE, android.Manifest.permission.READ_PHONE_STATE, Manifest.permission.GET_ACCOUNTS, android.Manifest.permission.CAMERA}, 1); } } else {
// Понизьте Зефир
String possibleEmail=null; Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+ Account[] accounts = AccountManager.get(PermissionActivity.this).getAccounts(); for (Account account : accounts) { if (emailPattern.matcher(account.name).matches()) { possibleEmail = account.name; Log.e("keshav","possibleEmail"+possibleEmail); } Log.e("keshav","possibleEmail gjhh->"+possibleEmail); } } });