gpt4 book ai didi

Android addAccount明确使用 "com.google"类型

转载 作者:太空狗 更新时间:2023-10-29 13:38:28 25 4
gpt4 key购买 nike

我从今天开始就在寻找答案,但我仍然不知道该怎么做!解释问题:我的应用程序使用 GTasks API。为此,用户必须拥有一个谷歌帐户。我有两种方法可以检查:

  1. 我实例化一个客户经理并查找“com.google”帐户(如果没有这样的帐户)
  2. 我启动一个 WebView ,用户在该 View 上登录 Google 并同意使用 API。

然后,我必须将我的应用程序与 GTask 同步。根据从 webview 中提取的信息,我尝试使用 AccountManager 创建一个“com.google”帐户,但我总是遇到错误“Caller UID is different...”。我知道问题应该来自“account-authenticator”,因为 XML 文件和应用程序中的“accountType”必须相同,但我认为情况并非如此,因为当我使用不同的帐户类型时,它可以完美运行(但我无法从 GTask 获得 authToken)。

所以,这是我的代码:

身份验证器.xml:

<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
android:accountType="com.google"
android:icon="@drawable/miniicon"
android:smallIcon="@drawable/miniicon"
android:label="@string/app_name"
android:accountPreferences="@xml/preferences"
/>

账户类型的定义:

 public class AuthenticationService extends Service {
public static final String ACCOUNT_TYPE = "com.google";

我如何在类里面使用它:

 AccountManager manager = AccountManager.get(activity);

final Account account = new Account(login, AuthenticationService.ACCOUNT_TYPE);
manager.addAccountExplicitly(account, password, new Bundle());

当我使用“com.plop”或其他任何东西而不是“com.google”时,它工作得非常好。

所以,我的两个问题是:1. 我可以使用“com.google”账户类型吗?2. 我无法使用“com.google”以外的其他方式获取我的 authToken 这正常吗(知道使用的帐户仍然是 Google 帐户,只是在 Android 上没有这样设置)?

提前感谢您的帮助,如果网站上有答案,请原谅我!

最佳答案

我回答了我自己的问题:这不可能是我想要的方式。您必须使用“com.google”帐户类型使用“addAccount”功能。这将导致弹出 android 系统使用的帐户创建 Activity 。然后,使用 GTasks API 一切正常。

关于Android addAccount明确使用 "com.google"类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8402167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com