android.accounts.AuthenticatorException:绑定失败

时间:2015-08-16 13:58:41

标签: android

我收到以下异常;我知道它不多,但似乎没有工作文件。我只想说,我已经尝试了所有关于实现我自己的Authenticator的例子。

我找到了一个建议的答案here来修复我的Manifest-File(声明服务)。已经这样做了,问题仍然存在。

我的初始解决方案基于this example: write-your-own-android-authenticator

W/System.err﹕ android.accounts.AuthenticatorException: bind failure

W/System.err﹕ at Android.accounts.AccountManager.convertErrorToException(AccountManager.java:2024)

W/System.err﹕ at android.accounts.AccountManager.access$400(AccountManager.java:144)

W/System.err﹕ at android.accounts.AccountManager$AmsTask$Response.onError(AccountManager.java:1867)

W/System.err﹕ at android.accounts.IAccountManagerResponse$Stub.onTransact(IAccountManagerResponse.java:69)

W/System.err﹕ at android.os.Binder.execTransact(Binder.java:446)

2 个答案:

答案 0 :(得分:17)

兄弟,我有同样的情况。到处搜索但没有运气。 Android身份验证器的资源和教程已经很少了。我也使用了相同的来源udinic:write your own android authenticator

这是一个非常蹩脚的小错误。我实际上在authenticator.xml中更改了我的accountType,忘了在AccountGeneral类中更改。 两者都应该相同,否则您的活动将不会绑定到AuthenticatorService以进行回调。

** authenticator.xml

<?xml version="1.0" encoding="utf-8" ?><account-authenticator 
xmlns:android="http://schemas.android.com/apk/res/android"
    android:accountType="com.alfainfinity.fidodo"
    android:icon="@drawable/ic_navigate_before"
    android:smallIcon="@drawable/ic_navigate_before"
    android:label="@string/label"
    android:accountPreferences="@xml/prefs"/>

** AccountGeneral.java

package com.alfainfinity.fitdodo.Boundary.Handlers.AccountHandlers;

public class AccountGeneral {

/**
 * Account type id
 */
public static final String ACCOUNT_TYPE = "com.alfainfinity.fidodo";

/**
 * Account name
 */
public static final String ACCOUNT_NAME = "FitDodo";

/**
 * Auth token types
 */
public static final String AUTHTOKEN_TYPE_READ_ONLY = "Read only";
public static final String AUTHTOKEN_TYPE_READ_ONLY_LABEL = "Read only access to an FitDodo account";

public static final String AUTHTOKEN_TYPE_FULL_ACCESS = "Full access";
public static final String AUTHTOKEN_TYPE_FULL_ACCESS_LABEL = "Full access to an FitDodo account";

public static final ServerAuthenticate sServerAuthenticate = new ParseComServerAuthenticate();

}

我希望你会发现这有用。

答案 1 :(得分:0)

如果忘记在ng build --configuration=production文件中添加<service> ...</service>块,也会出现此错误。

AndroidManifest.xml