0

ユーザー画像を保存するアプリがありますが、各画像とユーザー ID を保存します。

ユーザーは電話デバイスを変更できますが、Google アカウントは常に同じです。

電話ではなくユーザーを識別するコード文字列が必要です。

数値 ID である可能性がありますが、Google アカウントのメールアドレスである必要はありません。

私はこのコードを持っていますが、間違っています (ユーザー ID ではなくデバイス ID を返します)

TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
telephoneCode = tm.getDeviceId();

また

String code=Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID);

# # # # # # # # #

でテストしました

AccountManager mgr = AccountManager.get(getApplicationContext());
Account[] accounts = mgr.getAccountsByType("com.google");
String userCode=accounts.toString();

このコードでは、文字列を返します。

[Landroid.accounts.Account;@318ca48b

この英数字コードは常に変化します。

ありがとうダニエレ。

4

1 に答える 1

1

これが私がそれを行う方法です:

AccountManager accountManager = AccountManager.get(getApplicationContext());

Account[] accounts = accountManager.getAccountsByType("com.google");

for (Account a: accounts) {
    if (a.name.contains("@gmail.com")) {
        return a.name;
    }
}

これにより、@gmail.com で終わる最初のアカウントが返されます。複数存在する可能性があります。

于 2012-03-12T23:52:54.327 に答える