4

我正在尝试创建一个使用 Google 的 OAuth 库的 Android 应用程序,例如这个示例

但是,当我调用 getAuthTokenByFeatures 时,我得到一个异常,它会在 LogCat 上打印出来:

05-24 10:56:58.224: W/System.err(557): android.accounts.AuthenticatorException: bind failure
05-24 10:56:58.236: W/System.err(557):  at android.accounts.AccountManager.convertErrorToException(AccountManager.java:1563)
05-24 10:56:58.236: W/System.err(557):  at android.accounts.AccountManager.access$400(AccountManager.java:140)
05-24 10:56:58.236: W/System.err(557):  at android.accounts.AccountManager$AmsTask$Response.onError(AccountManager.java:1409)
05-24 10:56:58.236: W/System.err(557):  at android.accounts.IAccountManagerResponse$Stub.onTransact(IAccountManagerResponse.java:69)
05-24 10:56:58.236: W/System.err(557):  at android.os.Binder.execTransact(Binder.java:338)
05-24 10:56:58.236: W/System.err(557):  at dalvik.system.NativeStart.run(Native Method)

但是,实际的 Android 设备不会发生这种情况。我正在模拟 Android 4.0.3,但我终生无法在任何地方找到答案。有任何想法吗?

4

1 回答 1

6

当您未在清单中声明 Authenticator 时,通常会出现这种情况。请参阅创建存根验证器

<service
        android:name="com.example.android.syncadapter.AuthenticatorService">
    <intent-filter>
        <action android:name="android.accounts.AccountAuthenticator"/>
    </intent-filter>
    <meta-data
        android:name="android.accounts.AccountAuthenticator"
        android:resource="@xml/authenticator" />
</service>
于 2014-10-31T13:55:00.577 回答