Android AbstractAccountAuthenticator authTokenType始终为null

时间:2016-04-13 07:30:12

标签: android accountmanager

我想创建一个Android自定义帐户。

我实现了一个扩展AbstractAccountAuthenticator:

的类
public class Authenticator extends AbstractAccountAuthenticator {
    private static final String TAG = "Authenticator";
    protected Context mContext;

    public Authenticator(Context context) {
        super(context);
        Log.i(TAG, "Authenticator");
        this.mContext = context;
    }       

    @Override
    public Bundle addAccount(AccountAuthenticatorResponse response, String accountType, String authTokenType, String[] requiredFeatures, Bundle options) throws NetworkErrorException {
    Log.i(TAG, "addAccount");

    // ...
    }

// ...
}

当我想从android设置帐户页面添加帐户时,会调用addAccount(),但String authTokenType 始终为null。 这很烦人,因为我需要AccountManager函数setAuthToken()。

为什么这个参数为空?

修改

如果我通过AccountManager从我的应用程序添加帐户,我可以指定字符串authTokenType:

mAccountManager.addAccount(
                getString(R.string.authenticator_account_type),
                getString("Full access"), // authTokenType parameter
                null,
                new Bundle(),
                this,
                new OnAccountAddComplete(),
                null);

如何在设置页面添加帐户流程中指定它?

0 个答案:

没有答案