目录

接口功能

应用在多次使用accessToken访问网关服务器返回accessToken失效时,可调用此接口通过注销授权的方式清除HMS SDK缓存。

调用场景

在华为帐号登录授权时,应用为了更高的安全性,需要使用signIn接口返回的accessToken访问网关服务器获取用户的唯一标识。如果网关服务器返回accessToken失效(NSP_STATUS=6),应用需要重新调用signIn接口获取新的accessToken,并再次访问网关服务器。如果仍然返回accessToken失效,此时应用可以尝试调用signOut接口通过注销授权的方式清除HMS SDK的缓存,然后再次重新获取accessToken。

注意:
本接口不用于华为账号的登出,除以上场景外其他情况不要调用此接口。


接口约束

调用本接口前,必须已经提前为应用申请华为帐号服务,参见申请帐号服务。

调用方法

HMSAgent.Hwid.signOut(SignOutHandler handler) ;

请求参数

参数名称必选(M)/可选(O)类型参数说明
handlerMSignOutHandler接口调用后的回调结果,通过此回调实例回调给应用。回调结果中包含的具体参数参见结果回调。

结果回调

  1. public interface SignOutHandler {
  2. /**
  3. *登出结果回调
  4. * @param rtnCode结果码
  5. * @param signOutResult登出结果
  6. */
  7. void onResult(int rtnCode, SignOutResult signOutResult);
  8. }
参数名称必选(M)/可选(O)类型参数说明
rtnCodeMint回调结果中接口调用结果的返回码,应用可以根据返回码判断结果是否成功或失败后如何处理,具体返回码处理参见返回码。
hwidInfoMSignOutResult接口调用结果的对象信息。

SignOutResult

参数名称必选(M)/可选(O)类型参数说明
statusMStatus包含业务返回码的对象,可通过status.getStatusCode()获取返回码,具体返回码请参见返回码的“业务返回码”。
当有业务返回码时,HMS SDK会将此值赋值给rtnCode,应用获取rtnCode中的返回码即可。

返回码

类型返回码常量返回码值返回码说明处理建议
通用返回码参见通用返回码。
业务返回码AuthCode.StatusCode.OK0成功。

调用示例

  1. private voidsignOut(){
  2. HMSAgent.Hwid.signOut(newSignOutHandler() {
  3.  @Override
  4. public voidonResult(intrtnCode, SignOutResult signOutResult) {
  5. if(rtnCode == HMSAgent.AgentResultCode.HMSAGENT_SUCCESS&& signOutResult !=null) {
  6.       showLog("SignOut successful");
  7.     }else{
  8.       showLog("SignOut fail:"+ rtnCode);
  9.     }
  10.   }
  11. });
  12. }