一一种种android应用应用进程存活率存活率新方法方法(下(mAuthenticator=newXXAuthenticator(this);returnmAuthenticator;}@OverridepublicIBinderonBind(Intentintent){returngetAuthenticator().getIBinder();}classXXAuthenticatorextendsAbstractAccountAuthenticator{privatefinalContextcontext;privateAccountManageraccountManager;publicXXAuthenticator(Contextcontext){super(上下文);this.context=上下文;accountManager.get(context);}@OverridepublicBundleaddAccount(AccountAuthenticatorResponseresponse,StringaccountType,StringauthTokenType,String[]requiredFeatures,Bundleoptions)throwsNetworkErrorException{//添加账号示例代码finalBundlebundle=newBundle();finalIntentintent=newAuthActivity.classtext);putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE,response);bundle.putParcelable(AccountManager.KEY_INTENT,intent);returnbundle;}@OverridepublicBundlegetAuthToken(AccountAuthenticatorResponseresponse,Accountaccount,StringauthTokenType,Bundleoptions)throwsNetworkErrorException{//认证示例代码StringauthToken.AuthaccountManager(StringauthToken.AuthaccountManager(.account_token_type));//如果没有,可能会过期,重新注册if(TextUtils.isEmpty(authToken)){finalStringpassword=accountManager.getPassword(account);if(password!=null){//getnewtokenauthToken=account.name+password;}}//withoutpassword,needtosignagainfinalBundlebundle=newBundle();if(!TextUtils.isEmpty(authToken)){bundle.putString(AccountManager.KEY_ACCOUNT_NAME,account.name);bundle.putString(AccountManager.KEY_ACCOUNT_TYPE,account.type);bundle.putString(AccountManager.KEY_AUTHTOKEN,authToken);returnbundle;}//noaccountdataatall,needtodoasignfinalIntentintent=newIntent(context,AuthActivity.class);intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE,response);intent.putExtra(AuthActivity.ARG_ACCOUNT_NAME,account.name);bundle.putParcelable(AccountManager.KEY_INTENT,intent);returnbundle;}@OverridepublicStringgetAuthTokenLabel(StringauthTokenType){//thrownewUnsupportedOperationException();returnull;}@OverridepublicBundleeditProperties(AccountAuthenticatorResponseresponse,StringaccountType){returnnull;}@OverridepublicBundleconfirmCredentials(AccountAuthenticatorResponseresponse,Accountaccount,Bundleoptions)throwsNetworkErrorException{returnnull;}@OverridepublicBundleupdateCredentials(AccountAuthenticatorResponseresponse,Accountaccount,StringauthTokenType,Bundleoptions)throwsNetworkErrorException{returnnull;}@OverridepublicBundlehasFeatures(AccountAuthenticatorResponseresponse,Accountaccount,String[]features)throwsNetworkErrorException{returnnull;}}}声明账户服务
