打开手机并进行注册时,如何获取第一个Gmail帐户详细信息

|| 我有以下代码可获取与我的手机同步的所有gmail ID,但我希望用户首次注册的主要gmail ID。因为如果我想要的话,所有其他gmail帐户(不是主要帐户)都可以随时删除,但要删除主要帐户,我们也必须做其他事情,所以这就是为什么我想让主要帐户用于我的应用程序。 这是我的代码,我想在其中添加一些过滤器,我可以这样做,但无法正确获取内容。
Account[] accounts=AccountManager.get(this).getAccountsByType(\"com.google\");
    for(Account account: accounts)
    {
        String possibleEmail=account.name;
        Log.d(\"Possible email id\'s of user\", possibleEmail);
    }
我已经看过罗马链接,但无法以正确的方式进行转换。 我想使用此主要电子邮件ID来通过Google的C2DM进行推送通知。     
已邀请:
我有一个答案,但这不是正确的方法。当我获取与google(gmail)关联的所有帐户时,并且当我们输入要与gmail同步的电子邮件ID时,将创建一个堆栈,并在第0位,我得到的是主要的Gmail ID,用户打开手机时。
    Account[] accounts=AccountManager.get(this).getAccountsByType(\"com.google\");
    String myEmailid=accounts[0].toString();
    Log.d(\"My email id that i want\", myEmailid);
    for(Account account: accounts)
    {
        String possibleEmail=account.toString();
        Log.d(\"Possible email id of user\", possibleEmail);

    }
如果有人有更好的解决方案,请让我知道,我在2部手机上测试了此示例,并且效果很好,但是我看到许多应用程序正在获取用户的主要电子邮件ID以发送电子邮件,而所有其他应用程序,我都想知道在干嘛     
如果您要查找的帐户类型不只一个,则应该让用户选择。 Android 3没有“主要帐户”的区别;您可以从设备中删除任何帐户,无论它是否是第一个添加的帐户。     
以下代码获取电子邮件地址,并且不需要任何GET_ACCOUNTS权限。...
  private static final int REQUEST_CODE_EMAIL = 1;
        email = (TextView) findViewById(R.id.email);
        ...
        try {
            Intent intent = AccountPicker.newChooseAccountIntent(null, null,
                    new String[] { GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE }, false, null, null, null, null);
            startActivityForResult(intent, REQUEST_CODE_EMAIL);
        } catch (ActivityNotFoundException e) {
            // TODO
        }
        ...

    @Override
    protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
        if (requestCode == REQUEST_CODE_EMAIL && resultCode == RESULT_OK) {
            String accountName = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
            email.setText(accountName);
        }
    }
    

要回复问题请先登录注册