当前位置: 首页 > 知识库问答 >
问题:

无法使用程序预选帐户启动android google drive应用程序

齐鹏程
2023-03-14

我正在开发一个android应用程序,我想从我的应用程序中启动Google Drive应用程序。我可以使用以下代码成功完成此操作:

Intent intent = new Intent("android.intent.action.MAIN");
intent.setPackage("com.google.android.apps.docs");        
startActivity(intent);

但是,我在手机上有多个帐户,我希望能够通过编程预先选择Google Drive的活动帐户,以便在启动时使用。我的应用程序已经具有Google登录凭据和存储在mCredential中的Google Drive scope。我已尝试将此添加到意图中:

intent.putExtra(AccountManager.KEY_ACCOUNT_NAME,Credential.getSelectedAccountName());

...但是它不起作用。

有人知道怎么做吗?

谢谢

共有2个答案

赵才俊
2023-03-14

如果在某些情况下无法获取帐户名,那么(幸运的是)可以使用getSignInResultFromIntent()方法获取帐户名:

@Override
protected void onActivityResult (int requestCode, int resultCode, Intent intent) {

    GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent (intent);
    GoogleSignInAccount acct = result.getSignInAccount ();

    acct.getEmail () // your e-mail

}
霍财
2023-03-14

我做了一些关于如何使用intent获取帐户的研究。不幸的是,“AccountPicker”是检索帐户的唯一方法。对于此任务,Google Play Services库提供了一个方便的帐户选取器对话框,您可以使用AccountPicker调用该对话框。为了使用API,您必须在项目中包含Google Play services库。

下面的代码是关于如何检索帐户的示例实现:

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

有关AccountPicker的更多信息,请点击以下链接:
https://developers.google.com/android/reference/com/google/android/gms/common/AccountPicker

 类似资料:
  • 我已经在tomcat服务器上安装了应用程序。在启动和加载应用程序的过程中,我有以下堆栈跟踪的错误。如何解决这个问题? apache-tomcat-7.0.47/webapps/petclinic 2016年10月27日下午12:14:36 org。阿帕奇。卡塔琳娜。果心标准上下文起始内部 严重:ServletContainerInitializer处理javax时出错。servlet。Servle

  • 尝试通过Intellij IEDA运行Appium服务器时发生以下错误: 错误:无法启动应用程序会话,错误是:错误:命令失败:C:\WINDOWS\system32\cmd。exe/s/c“c:\Android\sdk\platform tools\adb.exe-s emulator-5554安装”c:\Program Files(x86)\Appium\node\u modules\Appiu

  • 我试图集成一个旧的weblogic应用程序来使用Okta SSO saml2.0流。我已经成功地使用@ServletCompenentScan将应用程序与Spring Boot集成,并且能够成功地使用Spring Security性进行基本身份验证。但是,当将特定于SAML的配置添加到SecurityConfiguration时,应用会在部署时失败。对于okta saml,我遵循这个教程https

  • 无法使用maven运行spring启动应用程序。当我运行命令mvn spring boot:run时,我收到:,但在pom中。我写的xml,其中是使用该示例的主要类: 我有这个项目结构: 我希望使用spring boot和maven运行我的应用程序。但现在它不起作用了。

  • 报告如下: 我没有运行任何其他Postgres安装。通过运行以下命令确认了这一点: 端口5432上也没有运行的应用程序。通过跑步证实了这一点 有什么想法吗?