Android:用户ID帐户(不是ID手机)

时间:2012-03-12 23:23:01

标签: android userid google-account

我有一个保存用户图像的应用程序,但我会保存每个图像也是用户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);

#########/ / h1>

我用

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

在此代码中返回一个字符串:

[Landroid.accounts.Account;@318ca48b

这个字母数字代码总是会改变!

感谢的 丹尼尔。

1 个答案:

答案 0 :(得分: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结尾的第一个帐户;可以有不止一个。