如何在AbstractAccountAuthenticator中获取许多方法的AccountAuthenticatorResponse输入

时间:2015-07-22 18:43:33

标签: android

在AbstractAccountAuthenticator类中,许多方法需要AccountAuthenticatorResponse输入。它看起来非常重要。然而,在哪里获得AccountAuthenticatorResponse参数?我发现它可能会在下面的AbstractAccountAuthenticator的addAccount方法中加入intent。

public Bundle addAccount(AccountAuthenticatorResponse response, String accountType,
        String authTokenType, String[] requiredFeatures, Bundle options) {
    final Intent intent = new Intent(mContext, AuthenticatorActivity.class);
    intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE, response);
    ............
}

然而,#34;响应"价值来自?我无法在网上找到任何例子。

1 个答案:

答案 0 :(得分:0)

This example显示了如何实现AbstractAccountAuthenticator,但仅此一项是无用的。您还需要扩展AccountAuthenticatorActivity,将其添加到清单中:

<activity 
    android:name=".mypackagename.AuthenticatorActivity"
    android:label="@string/signup">

    <intent-filter>
        <action android:name="android.accounts.AccountAuthenticator" />
    </intent-filter>

    <meta-data 
        android:name="android.accounts.AccountAuthenticator"
        android:resource="@xml/authenticator" /> 
</activity>

在res文件夹中创建一个名为&#34; xml&#34;的文件夹。并放入一个名为&#34; authenticator.xml&#34;的文件。里面放了这个:

<?xml version="1.0" encoding="utf-8"?>
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
    android:accountType="you.will.see.this.in.other.places"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:smallIcon="@drawable/ic_launcher"
    android:accountPreferences="@xml/prefs"/>`

我认为prefs是可选的。您还可以在链接中看到AccountManager