是否有人设法让Android版Google Drive Notepad示例正常运行?我按照Google开发者页面中的说明操作,但我无法收到启动Google Play服务对话框进行授权的通知。
应用程序按预期启动,方法
credential.getToken();
调用,引发UserRecoverableAuthException
异常。我希望会显示一个授权对话框,但没有任何反应。我从状态栏中删除通知列表,点击此应用程序创建的通知,再没有任何反应。
当我点击“最近的应用”按钮时,我可以在列表中看到“Google Play服务”,但它有空(空白和黑色)内容。点击它什么都不做,除了我被带回我的主屏幕。
对此有什么想法吗?
我尝试了另一个示例应用程序“Quick Start Drive”,这个应用程序按预期工作。我按照预期提出了授权对话框。
更多信息,目标设备是运行OS 4.2.2的Nexus 7。
非常感谢。
答案 0 :(得分:0)
我有同样的问题,我解决了它:
credential.setSelectedAccountName(accountName);
AccountManager accountManager = (AccountManager) context.getSystemService(Context.ACCOUNT_SERVICE);
Account[] accounts = accountManager.getAccountsByType("com.google");
Account account = null;
for(Account a : accounts){
if(a.name.equals(accountName)){
account = a;
break;
}
}
if(account != null){
String AUTH_TOKEN_TYPE = "oauth2:https://www.googleapis.com/auth/drive";
accountManager.getAuthToken(account, AUTH_TOKEN_TYPE, null, true, null, null);
service = getDriveService(credential);
}
答案 1 :(得分:0)
要授权Google Drive API,您必须捕获UserRecoverableException并触发具有授权对话框的意图。
try{
....
} catch (UserRecoverableAuthIOException e) {
Intent intent = e.getIntent();
startActivityForResult(intent, REQUEST_AUTHORIZATION_FOLDER);
}
答案 2 :(得分:0)
Gabriele Mariotti,你的解决方案似乎更好但在这种情况下无法工作。实际上,该类不是活动,并且无法调用startActivityForResult方法。