Mit dem folgenden Code, der den Google-Konto des Benutzers abruft, gmail, ich frage mich, warum ich von Geräten wie meine null erhalten (das natürlich auf meinem gmail läuft), während es meine Mutter Geräte arbeitet auf:Warum bekomme ich beim Abrufen der Gmail des Benutzers null?
public class MainActivity extends AppCompatActivity {
final String TAG = "Sample2";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String test = getEmail(getApplicationContext());
Log.d(TAG, "Email is: " + test);
TextView emailTxt = (TextView)findViewById(R.id.emailTxt);
emailTxt.setText(test);
}
private 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;
}
}
ich auch die folgende Erlaubnis in meine Manifest-Datei enthalten:
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
Offensichtlich ist es wegen meiner Gerät ... Aber es kann nicht das einzige Gerät sein, das null ist zurückkehrt, so dass ich weiß nicht, ob dies ist ein guter Ansatz für ein eindeutiges Zeichenfolgen-Token, wenn die Nutzlast mit In-App-Abrechnung überprüft wird.
Oh, und hier ist ein Screenshot von dem, was ich in meinem Accounts & Sync Einstellungen siehe:
... Gibt es etwas, was ich hier fehlt bin?
Danke für die Antwort, aber das ist die Sache. Für nicht konsumierbare Elemente kann ich nicht herausfinden, wie ein eindeutiges String-Token für jeden Benutzer generiert wird, während das Token auf allen seinen Geräten ausgeführt wird ... Daher erhalte ich E-Mail-Adressen und verschlüssele sie dann sofort als Token. – DaveNOTDavid
Was würden Sie für ein Token vorschlagen, das auf allen Geräten eines Benutzers ausgeführt wird? – DaveNOTDavid