¿Cómo puede obtener la dirección de correo electrónico de un usuario de Android?
Tengo android.permission.READ_OWNER_DATA
pero no puedo encontrar ningún código confiable que explique cómo puedo leer la dirección de correo electrónico del propietario del dispositivo. ¿Cómo puedo hacer esto?
- Androide. OnEditorAction nunca llamado
- SetOnItemClickListener en ListView que amplía la actividad
- Java.lang.NoClassDefFoundError: ayc para InterstitialAd
- Cómo hacer claro (vacío / sin valores) spinner on clearbutton
- Cambiar el color de la barra de navegación, Android
- Obtención de datos de lista de elementos de una lista
- Java.lang.RuntimeException: error: 0D0680A8: rutinas de codificación asn1: ASN1_CHECK_TLEN: etiqueta equivocada
- Cómo escribir un archivo en Android a la carpeta en bruto?
- Android Studio no pudo encontrar "libiconv.so"
- Administrador de dispositivos virtual deshabilitado en Android Studio
- ¿Cómo mostrar la página siguiente de los resultados de búsqueda personalizados de Google?
- Método de servicio de Android llamado en hilo diferente. ¿Sigue funcionando en el hilo principal?
- ¿Por qué son abstractas estas funciones, dónde encontrar el cuerpo (aplicación específica) de ellas?
¿Por qué quieres hacer eso?
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; } }
En tu AnroidManifest.xml
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Trabajando en la versión MarshMallow
Btn_click = (Botón) 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 {
// Baje luego Marshmallow
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); } } });
- ¿Cómo puedo forzar un sitio a escala para fijar para móviles (Iphone android ..)
- Proyecto de la biblioteca de Android con Android Studio