在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;响应"价值来自?我无法在网上找到任何例子。
答案 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