我想在设置中创建自定义应用帐户.
问题
>设置中有一个带图标的选项>添加帐户但没有名称
>单击该(添加帐户)时,AuthenticatorActivity不会启动.我调试Authenticator类,调用addAccount方法但没有弹出任何活动.
我做了以下步骤:
认证类(部分)
public class AccountAuthenticator extends AbstractAccountAuthenticator{
@Override
public Bundle addAccount(AccountAuthenticatorResponse response,
String accountType, String authTokenType,
String[] requiredFeatures, Bundle options)
throws NetworkErrorException {
final Intent intent = new Intent(mContext, AuthenticatorActivity.class);
intent.putExtra(AuthenticatorActivity.ARG_ACCOUNT_TYPE, accountType);
intent.putExtra(AuthenticatorActivity.ARG_AUTH_TYPE, authTokenType);
intent.putExtra(AuthenticatorActivity.ARG_IS_ADDING_NEW_ACCOUNT, true);
intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE, response);
final Bundle bundle = new Bundle();
bundle.putParcelable(AccountAuthenticator.KEY_INTENT, intent);
return bundle;
}
}
AuthenticatorService
public class AuthenticatorService extends Service{
@Override
public IBinder onBind(Intent intent) {
authenticator = new AccountAuthenticator(this);
return authenticator.getIBinder();
}
}
表现
android:label="@string/app_name">
android:resource="@xml/authenticator" />
authenticator xml
android:accountType="com.example.myapp"
android:icon="@drawable/myapp_icon"
android:smallIcon="@drawable/myapp_icon_small"
android:label="myapp"
/>