android.accounts.AuthenticatorException:绑定失败

Tob*_*ann 10 android

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

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

我的初始解决方案基于这个例子: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)
Run Code Online (Sandbox Code Playgroud)

Pri*_*sal 19

兄弟,我有同样的情况.到处搜索但没有运气.Android身份验证器的资源和教程已经很少了.我也使用相同的源udinic:编写自己的android身份验证器.

这是一个非常蹩脚的小错误.我实际上在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"/>
Run Code Online (Sandbox Code Playgroud)

**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();
Run Code Online (Sandbox Code Playgroud)

}

我希望你会发现这很有帮助.