文档管理中心

此版本文档已归档不再维护,推荐您使用最新版本

指南用户身份服务应用开发客户端开发

客户端开发

获取用户选择返回的地址

功能描述

应用需要使用用户地址(姓名、联系方式、详细地址等)时,该接口用于拉起华为用户身份服务的地址选择页面,用户选择用户地址后返回应用。

开发步骤

1. 使用new UserAddressRequest()方法实例化请求对象,调用getUserAddress接口。

收起
自动换行
深色代码主题
复制
  1. UserAddressRequest req = new UserAddressRequest();
  2. Task<GetUserAddressResult> task = Address.getAddressClient(this).getUserAddress(req);
  3. task.addOnSuccessListener(new OnSuccessListener<GetUserAddressResult>() {
  4.    @Override
  5.    public void onSuccess(GetUserAddressResult result) {
  6.        Log.i(TAG, "onSuccess result code:" + result.getReturnCode());
  7.        try {
  8.            startActivityForResult(result);
  9.        } catch (IntentSender.SendIntentException e) {
  10.            e.printStackTrace();
  11.        }
  12.    }
  13. }).addOnFailureListener(new OnFailureListener() {
  14.    @Override
  15.    public void onFailure(Exception e) {
  16.        Log.i(TAG, "on Failed result code:" + e.getMessage());
  17.    }
  18. });

2. 用StatusstartResolutionForResult方法拉起选择华为用户身份服务的地址选择页面。

收起
自动换行
深色代码主题
复制
  1. private void startActivityForResult(GetUserAddressResult result) throws IntentSender.SendIntentException {
  2.    Status status = result.getStatus();
  3.    if (result.getReturnCode() == 0 && status.hasResolution()) {
  4.        Log.i(TAG, "the result had resolution.");
  5.        status.startResolutionForResult(this, 1000);
  6.    } else {
  7.        Log.i(TAG, "the result hasn't resolution.");
  8.    }
  9. }

3. 选择地址完成后在页面的onActivityResult中调用UserAddress的parseIntent方法从结果中获取用户选择的地址信息。

收起
自动换行
深色代码主题
复制
  1. @Override
  2. protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
  3.    super.onActivityResult(requestCode, resultCode, data);
  4.    Log.i(TAG, "requestCode=" + requestCode + ", resultCode=" + resultCode);
  5.    if (resultCode == Activity.RESULT_OK) {
  6.        UserAddress userAddress = UserAddress.parseIntent(data);
  7.        // Business process
  8.    } else {
  9.        // Error Handling
  10.    }
  11. }
本页面可能包含由第三方许可的内容,请参考具体描述
在 指南 中进行搜索
请输入您想要搜索的关键词