我想创建一个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);
如何在设置页面添加帐户流程中指定它?