唯一的AccountManager返回在扩展性的一种账户(AccountManager only r

2019-10-29 06:41发布

我有一个简单的应用程序,它是访问特定的NFC标签时注册一个用户的主电子邮件帐户的扩展活动。

不幸的是,由于某种原因,即使我可以看到几个账户置备我的三星设备下面的代码只返回一个,而不是完整的名单上。 它返回一个似乎是三星帐户ID,而不是谷歌ID。

这是用户错误的简单情况还是有一些其他的方式来获得的谷歌ID?

此代码已被更新,以反映正确的功能。 关闭这一个。

代码段是在这里:

public class MainActivity extends Activity {
    .
    .
    .
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mTextView = (TextView) findViewById(R.id.message);

        final Context context = getApplicationContext();
        Thread myThread = new Thread(
                new Runnable() {
                    public void run() {
                        try {
                            GoogleAuthUtil.requestGoogleAccountsAccess(context);
                        } catch (Exception e) {
                            if (e instanceof UserRecoverableAuthException) {
                                startActivityForResult(((UserRecoverableAuthException)
                                        e).getIntent(), MY_PERMISSIONS_REQUEST_READ_CONTACTS);
                            } else {
                                Log.e("SignIn", "Exception in getting google accounts" + e);
                            }
                        }
                    }
                });
        myThread.start();
        AccountManager accountManager = AccountManager.get(context);
        Account[] accounts = accountManager.getAccounts();

        ClientRequest request = new ClientRequest (accounts);

        handleIntent(getIntent());
    }
    .
    .
    .
}

这是我看到它在调试器,其中foo@bar.net是三星ID我的测试设备上的返回:

accounts[0] = {Account@4923} "Account {name=foo@bar.net, type=com.osp.app.signin}"
this = {MainActivity@4856} 
savedInstanceState = null
context = {Application@4867} 
accountManager = {AccountManager@4903} 
accounts = {Account[1]@4913} 
 0 = {Account@4923} "Account {name=foo@bar.net, type=com.osp.app.signin}"
文章来源: AccountManager only returning one account in extended activity