2012-02-17 11 views

risposta

7

Che cosa intendi esattamente? Si può essere in grado di accedere al nome in un certo modo:

  1. Si può cercare di accedere ai propri dati memorizzati in un account Google, che richiede l'autorizzazione GET_ACCOUNTS
  2. Si potrebbe, come suggerito Vinayak.B, cercare di raccogliere le informazioni dai contatti, che richiedono l'autorizzazione READ_CONTACTS e READ_PHONE_STATE, anche se penso che questa sia un'opzione hit-or-miss.
  3. C'è anche un permesso READ_PROFILE, che ritengo sia un modo interessante di andare, ma non ho alcuna esperienza in merito, quindi non posso dirti se sia un'impresa fruttuosa o meno.

Vorrei provare prima l'opzione GET_ACCOUNTS, poiché devono disporre di un account Google per scaricare l'app. Sembra anche un po 'meno invasivo per me

Spero davvero che questo risponda alla tua domanda, ma se non lo fa, hai davvero bisogno di fornire maggiori informazioni.

+0

sì Stavo pensando forse che l'utilizzo di conti è il modo di andare ... ma non sarebbe un sacco di utenti esitano a installare qualcosa che ha avuto accesso alle informazioni sugli account? Voglio dire posso prendere la loro password o qualcosa del genere con GET_ACCOUNTS? o è solo il nome e l'email a cui posso accedere? ma anche se l'acquisizione della password non è possibile, questo flag sembrerebbe ancora possibile e quindi penso che gli utenti possano scrivere molti commenti negativi sull'app, no? – ycomp

+2

Quando tutto il resto fallisce, metti una spiegazione per le autorizzazioni nella descrizione della tua app sul mercato e lascia che decidano. Personalmente, apprezzo un dev che è onesto e dice "Guarda, ragazzi, ho un permesso controverso, ma ecco cosa lo uso". – gobernador

+0

cool, buona idea – ycomp

17

Yep, a partire dal ICS si può leggere il profilo del proprietario del dispositivo (che richiede il permesso READ_PROFILE):

http://developer.android.com/reference/android/provider/ContactsContract.Profile.html

In particolare la colonna DISPLAY_NAME dovrebbe avere il loro nome. Oppure si potrebbe cercare l'elemento di dati StructuredName per ottenere il loro GIVEN_NAME:

http://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.StructuredName.html

+1

buono a sapersi ... per quando ICS diventa effettivamente popolare, lol) ma grazie, è utile (eventualmente) – ycomp

+1

@ycomp è utile ora, in quanto migliora l'esperienza per gli utenti che si trovano su quei dispositivi , se la funzione non può essere utilizzata su dispositivi precedenti non ci si può aspettare che esista lì. Basta usare il degrado grazioso. –

Problemi correlati