Tengo android.permission.READ_OWNER_DATA
pero no encuentro 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?¿Cómo se puede obtener la dirección de correo electrónico de un usuario de Android?
Respuesta
¿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 su AnroidManifest.xml
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Esto se ve muy bien ... pero necesito algo que funcione con Android 1.5? ¿Tienes alguna clase para una API más antigua en tu manga? – kape123
Esto no funcionará en Android 1. * Me temo. Si le resulta cómodo, puede usarlo en una aplicación que apunta a 1.5 y detectar limpiamente cuando la funcionalidad no está disponible con intente con { String name = UserEmailFetcher.getEmail (this); } catch (VerifyError e) {// sucede si el administrador de cuentas no está disponible (por ejemplo 1.x) } Se necesitaría
Está escondido, tendrás que usar el reflejo para obtenerlo. No lo haga si realmente lo necesita. – alexanderblom
Trabajando en marshmallow Versión
btn_click = (Button) 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 {
// Bajo continuación, 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);
}
}
});
**
- 1. ¿Cómo puedo obtener la dirección de correo electrónico
- 2. En el Kindle Fire, ¿es posible obtener la dirección de correo electrónico de un usuario?
- 3. Obtener la identificación de usuario de Facebook por correo electrónico
- 4. Acceder a contactos y obtener la dirección de correo electrónico
- 5. ¿Cómo obtener la dirección de correo electrónico del usuario de twitter, usando oAuth?
- 6. dirección de correo electrónico noreply.
- 7. Cómo obtener la dirección de correo electrónico del usuario de twitter con twitter api
- 8. ¿Se ha confirmado la dirección de correo electrónico de un usuario en Facebook Graph API?
- 9. Obteniendo la dirección de correo electrónico de un destinatario que es un usuario de intercambio
- 10. ¿Puede haber un apóstrofo en una dirección de correo electrónico?
- 11. Cómo obtener la dirección de correo electrónico de la cuenta de compra no primaria
- 12. ¿Cómo cambiar la dirección de correo electrónico de un usuario de manera "segura"?
- 13. Obtener la dirección de correo electrónico de un usuario del nombre de usuario a través de PowerShell y WMI?
- 14. Obtener la dirección de correo electrónico del usuario actual en Outlook 2007
- 15. obtener correo electrónico de ActiveDirectory
- 16. ¿Es una buena práctica de entrada de "Confirmar correo electrónico" cuando el usuario cambia la dirección de correo electrónico?
- 17. El uso de expresiones regulares para extraer nombre de usuario de la dirección de correo electrónico
- 18. Cómo verificar que realmente exista una dirección de correo electrónico enviando un correo electrónico a java
- 19. No se puede obtener la dirección de correo electrónico mediante facebook sdk para IOS y gráfico de API para Facebook
- 20. cómo cambiar la dirección de correo electrónico predeterminada para postfix?
- 21. Buscar usuario de Facebook (url a la página de perfil) por dirección de correo electrónico conocida
- 22. "El correo electrónico no puede estar en blanco" Idear usando nombre de usuario o correo electrónico
- 23. django-registration no puede establecer la dirección de correo electrónico "de" para el correo electrónico de autenticación
- 24. Cómo obtener una foto de perfil de Facebook desde una dirección de correo electrónico
- 25. Cómo copiar la dirección de correo electrónico en outlook 2007
- 26. ¿Cómo actualizar el correo electrónico, la dirección, el alias, etc. de un contacto en Android?
- 27. rieles de validación de usuarios de correo electrónico - sólo lo quieren para validar cuando un usuario se inscribe o actualizaciones de dirección de correo electrónico
- 28. claves Gitosis y ssh: ¿la dirección de correo electrónico tiene algo que ver con la dirección de correo electrónico git?
- 29. Cómo obtener el miembro MembershipUser de ASP.NET por correo electrónico
- 30. Cambiando las notificaciones de Drupal dirección de correo electrónico
Ver esta pregunta: http://stackoverflow.com/questions/2112965/how-to-get-the-android- devices-primary-e-mail-address –
Mi código es para más de 2 versiones de Android, pero espero que ayude a alguien. Recibe el nombre del propietario, el correo electrónico y el teléfono (el usuario puede tener un correo electrónico además de la cuenta de sincronización). Probado en android 2.3 https://gist.github.com/3904299 – Jehy
¿Por qué se cierran las buenas preguntas? Estoy empezando a ver esto más y más. –