我按照 developers.google 中所述设置了 Google Play 服务的授权流程/drive/android/auth
现在用户已授权我要检索帐户名称的应用程序.但我在 API 中找不到任何方法(developer.android/reference/gms-packages.html) 会有帮助.
Now that the user has authorized the app I want to retrieve the account name. But I can't find any method in the API (developer.android/reference/gms-packages.html) that would be helpful.
推荐答案我假设你已经有 QUICKSTART 或 DEMO,或类似的启动和运行的东西,所以我会参考这两个例子.在 BaseDemoActivity.java 代码,您会注意到连接失败时会调用帐户选择,
I assume that you already have QUICKSTART or DEMO, or something similar up-and-running, so I will refer to these 2 examples. In the BaseDemoActivity.java code, you'll notice that account selection is invoked when connection fails,
@Override public void onConnectionFailed(ConnectionResult result) { ... result.startResolutionForResult(this, REQUEST_CODE_RESOLUTION); ... }... 它在 onActivityResult() 中返回.我只是抓取意图数据并获取 KEY_ACCOUNT_NAME,它是选定的电子邮件.下面的代码是从DEMO的BaseDemoActivity.java(我上面提到的)修改而来的.
... and it comes back in onActivityResult(). I just grab the intent data and get the KEY_ACCOUNT_NAME, it is the selected email. The code below is modified from the DEMO's BaseDemoActivity.java (I mentioned above).
@Override protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) { switch (requestCode) { case REQUEST_CODE_RESOLUTION: if ((resultCode == RESULT_OK) && (data != null) && (data.getExtras() != null )) // user selected account, get it String email = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME); else finish(); // user cancelled selection, an easy solution break; }更多推荐
使用新的 Google Drive API 检索帐户名称
发布评论