问题标签 [accountmanager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Google Account Authenticator 在运行时请求许可
我使用我的服务中的 AccountManager.getAuthToken 来访问 Googledocs 和电子表格 API。
由于我是从后台执行此操作并且不想打扰 user ,因此我允许 accountManager 在需要用户交互时发出通知(使用参数 boolean notifyAuthFailure)。
正如我所料,CallBack 是用 AccounManagerFuture 调用的,在这种情况下它解析为 Bundle with KEY_INTENT 字段。
“在这种情况下,您可能需要等到用户响应,这可能需要数小时或数天甚至永远。当用户确实响应并提供新密码时,帐户管理员将广播 LOGIN_ACCOUNTS_CHANGED_ACTION Intent,应用程序可以使用它来尝试再次”
当事情只是密码错误时,它运作良好。但是我遇到了一个问题,AccountAuthenticator 在运行时请求许可,并且意图(从通知栏)启动 GrantCredentialsPermissionActivity,在用户按下按钮(允许或拒绝)后不允许我知道用户已经响应。
问题是如何知道与用户的交互何时完成并再次尝试获取 AuthToken。
我无法从 GrantCredentialsPermissionActivity 获得 onActivityResult,因为我从 NotificationBar 启动它(不是从我的其他活动,因为我在尝试获取令牌时使用服务)
我不能事先在清单中指定权限,因为据我了解,这是一些由谷歌身份验证器定义的客户权限。
当用户在关闭 GrantCredentialsPermissionActivity 后在运行时批准/拒绝请求的应用程序权限时,它似乎没有广播任何意图。谢谢你。
android - AccountManager 和 OAuth - 如何添加帐户?
我的应用程序与使用 OAuth 授权的服务器连接。我应该如何在账户管理器中存储这些账户?如果我有登录并通过,它可能如下所示:
但是在 OAuth 帐户的情况下应该传递什么而不是用户名并传递?我应该在哪里存储 OAuth-secret?OAuth 令牌应该存储在 KEY_AUTHTOKEN 中吗?
android - 在 AccountManager 中添加 Account 会导致死锁
当我看到用户在帐户管理器中没有帐户时,我正在尝试执行以下操作以将用户发送到帐户设置活动并让他们创建一个帐户。
这是一个IllegalStateException
说法,从你的主线程调用它会导致死锁。执行此类操作的最佳方法是什么,有没有人有一个很好的代码示例?
android - AccountManager 似乎返回了错误的 authToken
我正在使用新 API 开发 Google Tasks 应用程序,但我无法获得工作授权。我正在使用 Android AccountManager 获取 authToken,奇怪的是我收到一条错误消息,指出我使用了错误的凭据:
我的代码:
我尝试使用 aHttpRequestInitializer
并在 a 中应用 authTokenHttpExecuteInterceptor
而不是使用 (deprecated)HttpTransport.defaultHeaders
但这也不起作用。
我究竟做错了什么?我的凭据显然是正确的,GMail 工作正常。
android - 打开手机并注册时如何获取第一个 Gmail 帐户详细信息
我有以下代码获取与我的手机同步的所有 gmail id,但我想要用户第一次注册的主要 gmail id。因为如果我想要所有其他 gmail 帐户(不是主帐户),我可以随时删除,但要删除主帐户,我们还必须做其他事情,所以这就是为什么我想让主帐户在我的应用程序中使用。
这是我的代码,我想在其中添加一些过滤器,我可以这样做,但无法正确获取。
我已经看过Roman链接,但无法以正确的方式进行转换。我想使用这个主要的电子邮件 ID 使用来自谷歌的 C2DM 进行推送通知。
android - 自定义帐户身份验证器。从设备中删除帐户后的清理
有没有办法获得某种通知/广播/等。当自定义帐户从“帐户和同步设置”中删除时?
我拥有的应用程序可以方便设备上的多个用户(这是供公司使用的)并使用单个 SQLite 数据库。假设我在设备上为我的应用程序创建了多个用户,并使用仅与这两个用户相关的数据填充数据库。我的问题是,如果其中一位用户从“帐户和同步设置”中删除,我将无法清理数据库和/或 SD 卡上的一些外部文件。
我可以在冗余表中复制用户信息并将其与注册帐户进行比较,然后如果表中的用户信息与 AccountManager 中的 Account[] 数组不匹配,则从数据库中删除用户数据。对我来说感觉很脏。
android - AccountManager 阻止GetAuthToken 卡住
我一直使用SampleSyncAdapter 作为基础来创建我自己的 SyncAdapter。添加一个新帐户似乎效果很好,但是一旦我想使用 AccountManager.blockingGetAuthToken(... 获取身份验证令牌,它就会卡住,然后在几分钟后抛出 OperarationCanceledException。
有没有人知道这里可能出了什么问题?除了我对自己的服务器进行身份验证外,代码几乎与示例相同。
05-24 23:00:23.258: 错误/SyncAdapter(4961): OperationCanceledExcetpion 05-24 23:00:23.258: 错误/SyncAdapter(4961): android.accounts.OperationCanceledException 05-24 23:00:23.258: 错误/SyncAdapter (4961): 在 android.accounts.AccountManager$AmsTask.internalGetResult(AccountManager.java:1255) 05-24 23:00:23.258: 错误/SyncAdapter(4961): 在 android.accounts.AccountManager$AmsTask.getResult(AccountManager. java:1260) 05-24 23:00:23.258: 错误/SyncAdapter(4961): 在 android.accounts.AccountManager$AmsTask.getResult(AccountManager.java:1181) 05-24 23:00:23.258: 错误/SyncAdapter( 4961): 在 android.accounts.AccountManager.blockingGetAuthToken(AccountManager.java:737)
android - 如何让 AccountManager (authtoken) 和 OpenID 一起工作(没有 AppEngine)?
我正在制作一个应该能够从 Web 服务(不是 GAE 的一部分)获取数据的 Android 应用程序。用户可以通过浏览器使用 OpenId 登录网络服务(只允许使用 Google 帐户)。
AccountManager 可以给我 authtoken。我可以将此 authtoken 连同用户的 google 帐户名(电子邮件)一起保存在我的服务器上,然后使用此帐户名将他的 openid 登录名与应用程序注册联系起来。
但这并不能解决任何问题,因为我无法根据用户的 OpenID 信息验证此令牌......或者我可以吗?我想我可以使用用户的 authtoken“以某种方式”将他的 android 帐户链接到网络帐户。
这看起来越来越像处理此问题的错误方法,但我不想将用户 Google 的用户名/密码保存在 SharedPreferences 中并使用这些数据进行登录。
有什么创意吗?谢谢
android - 有没有人有在 AccountManager (Android) 中使用 confirmCredentials API 的经验
我想验证用户名和密码是否有效(例如 Google 帐户、Facebook 帐户、Twitter 帐户...)。我在 AccountManager 类中找到了confirmCredentials API。我可以使用此 API 来验证帐户的密码吗?
我编写了这个checkCredentials API 来检查用户的密码是否有效,但这会导致 ANR 并且我无法得到密码是否有效的结果?
你有关于这个API或者如何在Andoroid下验证id和密码的经验吗?
任何信息或线索将不胜感激。非常感谢。
android - 通过 Android 的 AccountManager 类进行 Twitter 身份验证
我正在开发一个 android 应用程序并想集成 Twitter。
我的理解是,如果在用户的设备上安装了官方的 android Twitter 应用程序,那么我们可以使用此处提到的帐户管理器进行身份验证.. 如果未安装,则显示 twitter 登录网页。
我的理解正确吗?
现在使用 twitter 网络登录页面进行身份验证工作正常。但是如何使用帐户管理器登录?
使用 AccountsType 作为“com.twitter.android.auth.login” 我使用来自 •com.twitter.android.oauth.token •com.twitter.android.oauth.token.secret 的帐户管理器获得了令牌和令牌秘密
我正在使用 Twitter4J,并使用我的 CONSUMER_KEY 和 CONSUMER_SECRET 以及 recvd 进行身份验证。令牌。但身份验证总是失败。
CONSUMER_KEY 和 CONSUMER_SECRET 是我在 Twitter 上注册应用程序时获得的密钥……但我不明白如何将这些密钥用于官方 Android Twitter 应用程序身份验证?
请。让我知道 谢谢
这是我的代码