stavo aggiornando l'app di un cliente questo pomeriggio che consente agli utenti di accedere con Google+. Potrebbe non essere necessario controllare l'autorizzazione GET_ACCOUNTS in fase di runtime. Ho aggiornato il manifest per qualificare l'autorizzazione GET_ACCOUNTS con android:maxSdkVersion="22"
.
Su un Nexus 5 su cui è in esecuzione Marshmallow sono riuscito ad accedere correttamente a Google+ senza visualizzare una finestra di dialogo delle autorizzazioni di runtime. I contatti non vengono visualizzati in Impostazioni> App> [app del mio cliente]> Autorizzazioni.
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" android:maxSdkVersion="22"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS" android:maxSdkVersion="22"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" android:maxSdkVersion="22"/>
<uses-permission android:name="android.permission.USE_CREDENTIALS" android:maxSdkVersion="22"/>
documentazione per GET_ACCOUNTS riflettono cambiamento comportamentale nel Marshmallow è descritto here.
E 'di progettazione, ma il design sconcertante. Le autorizzazioni di contatto sono estremamente importanti, in genere proteggendo i dati privati di centinaia di persone. Dover chiedere all'utente, per poter utilizzare GET_ACCOUNTS, non ha senso - l'utente non dovrebbe accettarlo. – Tom