2015-08-16 179 views
7

我收到以下異常;我知道它不會繼續下去,但似乎沒有任何工作文檔。只要說一句,我已經嘗試過所有關於實現我自己的Authenticator的例子。android.accounts.AuthenticatorException:綁定失敗

我找到了一個建議的答案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) 
+1

您的代碼有錯誤 – pskink

回答

15

兄弟,我有同樣的情況。到處搜索,但沒有運氣。已經有很少的資源和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(); 

}

我希望你能有所幫助。

+0

AccountGeneral類和authenticator.xml這兩個文件具有相同的名稱,但綁定失敗錯誤,因爲它是 –

+1

您先生,是老闆!給我留下了很多麻煩。 – Ventis