Articles of accountmanager

如何在Android手机上检索登录的Google帐户?

我正在开发Android应用程序,我需要检索手机上使用的Google帐户。 我想为C2DM做这个,但我不想让用户输入他/她的谷歌电子邮件帐户,如果他们已经登录。有什么办法吗?

Accountmanager.addAccount()vs Accountmanager.addAccountExplicitly()

为什么我们使用Accountmanager.addAccount()时,我们可以使用Accountmanager.addAccount()创build所有参数的帐户。 我Accountmanager.addAccount()了,并找出当我们使用Accountmanager.addAccount()它触发AbstractAccountAuthenticator addAccount事件,但是有什么意义呢? 为什么我们应该使用addAccount方法? 大功率的 我们可以这样创build账户: Account account = new Account(accountname, accountType); mAccountManager.addAccountExplicitly(account, accountPassword, null);

如何从Android上保存的帐户中检索Facebook-AuthToken

我试图通过使用下面的一段代码检索Facebook的AuthToken(由Facebook保存Android )。 AccountManager am = AccountManager.get(this); Account[] accounts = am.getAccountsByType("com.facebook.auth.login"); if (accounts.length > 0) { for(int j = 0; j < accounts.length; j++) { Account account = accounts[j]; if(account.type != null && account.type.equals("com.facebook.auth.login")) { Log.e(RuntimeVars.MY_NAME, "FACEBOOK-TYPE FOUND"); am.getAuthToken(account, "com.facebook.auth.login", null, ConversationList.this, new AccountManagerCallback<Bundle>() { public void run(AccountManagerFuture<Bundle> arg0) { try { Bundle b = arg0.getResult(); […]

我们如何控制Android同步适配器偏好?

在试图写一个自定义的Android同步适配器我跟着这个 。 在上述示例中,我成功地在“ 常规”设置中显示了一个条目(“帐户设置”),其中包含以下代码段。 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="General Settings" /> <PreferenceScreen android:key="account_settings" android:title="Account Settings" android:summary="Sync frequency, notifications, etc."> <intent android:action="fm.last.android.activity.Preferences.ACCOUNT_SETUP" android:targetPackage="fm.last.android" android:targetClass="fm.last.android.activity.Preferences" /> </PreferenceScreen> </PreferenceCategory> </PreferenceScreen> 代码导致我在常规设置中input( 帐户设置 ): 点击帐户设置后,我收到如下错误信息,设备不必要的重启。 ERROR / AndroidRuntime(30057):android.util.AndroidRuntimeException:从Activity上下文外部调用startActivity()需要FLAG_ACTIVITY_NEW_TASK标志。 这真的是你想要的吗? 我知道这个错误可以通过代码来解决。 由于“帐户设置”首选项是基于XML的代码,我坚持与错误。 任何人都可以帮助解决这个问题? 我们如何通过代码来控制这种偏好?

我应该怎样使用Android AccountManager?

我在Android SDK中看到了AccountManager,它用于存储帐户信息。 因此,我无法find它的目的是什么一般的讨论。 有没有人知道有什么有用的讨论AccountManager背后的意图是什么,它买什么? 任何意见,这是适合什么types的帐户? 这是否会将您的用户的帐户信息放到一般的Web服务中?

AccountManagerFuture.getResult()导致“无法login”屏幕

我正在尝试使用AccountManager为已安装的Google帐户获取令牌。 当我在我的AccountManagerFuture对象上调用getResult()时,我得到设备上的“无法login”屏幕(进一步说:“有一个probem与Google服务器通信,请稍后再试。”)networking连接在调用这个方法之前是可用的,我也在浏览器中检查了我可以访问的设备,例如google.com,下面是我的AccountManagerCallback的代码: amf = accMgr.getAuthToken(account, authTokenType, null, true, new AccountManagerCallback<Bundle>() { public void run(AccountManagerFuture<Bundle> arg0) { Bundle result; Intent i; String token; try { result = arg0.getResult(); if (result.containsKey(AccountManager.KEY_INTENT)) { i = (Intent)result.get(AccountManager.KEY_INTENT); if (i.toString().contains("GrantCredentialsPermissionActivity")) { // Will have to wait for the user to accept // the request therefore this will have to // […]

在AccountManager中添加帐户可能会导致死锁

当我看到用户在帐户经理中没有帐户时,我正在尝试执行以下操作,将用户发送到帐户设置活动并让他们创build帐户。 AccountManagerFuture<Bundle> addAccount = accountManager.addAccount(ACCOUNT_TYPE, TOKEN, null, null, MyActivity.this, // activity null, // callback null); // handler Intent result = (Intent) addAccount.getResult().get(AccountManager.KEY_INTENT); startActivity(result); 这是抛出一个IllegalStateException说从您的主线程调用可能导致死锁。 什么是执行这种types的操作的最佳方式,并且任何人都有一个很好的代码示例在这个行动?

Glassware auth:android.accounts.OperationCanceledException“不允许共享凭据:取消”。

我们正在尝试实施GDK玻璃器皿authentication; 已经将我们的testing版APK上传到Google Glass团队,并成功实施了我们的MyGlasslogin页面。 我们现在尝试通过以下列出的步骤访问令牌: https : //developers.google.com/glass/develop/gdk/authentication#retrieving_accounts_on_glass 然而最后一步, String token = future.getResult().getString(AccountManager.KEY_AUTHTOKEN); 导致以下例外: 09-22 18:07:24.126: I/AccountManagerService(519): Sharing credentials is not allowed: canceling. 09-22 18:07:24.313: W/System.err(5822): android.accounts.OperationCanceledException 09-22 18:07:24.313: W/System.err(5822): at android.accounts.AccountManager$AmsTask.internalGetResult(AccountManager.java:1503) 09-22 18:07:24.313: W/System.err(5822): at android.accounts.AccountManager$AmsTask.getResult(AccountManager.java:1531) 09-22 18:07:24.313: W/System.err(5822): at android.accounts.AccountManager$AmsTask.getResult(AccountManager.java:1452) 09-22 18:07:24.313: W/System.err(5822): at com.mycom.app.MainActivity$5.run(MainActivity.java:234) 09-22 18:07:24.313: W/System.err(5822): at android.accounts.AccountManager$11.run(AccountManager.java:1427) 09-22 18:07:24.313: W/System.err(5822): at […]

更改android自定义帐户的用户名和密码

我已经创build了与我的服务器同步数据的android同步适配器。 我工作正常,但现在我想能够更改我的用户名和密码,而无需再次删除和添加帐户。 我怎样才能做到这一点? 我有一个login屏幕,有编辑文本input用户名和密码,但如何将这些更改应用到帐户? 编辑: find了一个如何更改密码的方法: AccountManager.get(mContext).setPassword(account, password ); 其中帐户是我的帐户,密码是新密码。 所以现在我的问题是: 如何更改用户名?

AccountManager没有SyncAdapter?

我试图使用AccountManager来存储帐户信息,并实施了一个身份validation,但我不断收到像下面这样的例外,使手机崩溃。 与示例代码相比,这似乎是因为我没有(或特别需要)SyncAdapter和关联的服务。 使用AccountManager而不添加SyncAdapter有一个窍门吗? 问候 菲尔 I/AuthenticatorActivity( 8526): onAuthenticationResult(true) I/AuthenticatorActivity( 8526): finishLogin() W/dalvikvm( 8108): threadid=13: thread exiting with uncaught exception (group=0x 4001b170) E/AndroidRuntime( 8108): Uncaught handler: thread android.server.ServerThread ex iting due to uncaught exception E/AndroidRuntime( 8108): *** EXCEPTION IN SYSTEM PROCESS. System will crash. E/AndroidRuntime( 8108): java.lang.NullPointerException E/AndroidRuntime( 8108): at com.android.settings.ManageAccountsSettings.o nSyncStateUpdated(ManageAccountsSettings.java:187) E/AndroidRuntime( 8108): at com.android.settings.ManageAccountsSettings.o […]