code: private static String getNoSign(Map<String, Object> params, boolean includeEmptyParam) {
          //对参数按照key做升序排序，对map的所有value进行处理，转化成string类型
          //拼接成key=value&key=value&....格式的字符串
          StringBuilder content = new StringBuilder();
  
          // 按照key做排序
          List<String> keys = new ArrayList<String>(params.keySet());
          Collections.sort(keys);
  
          String value = null;
          Object object = null;
          boolean isFirstParm = true;
          for (int i = 0; i < keys.size(); i++) {
              String key = (String) keys.get(i);
              object = params.get(key);
  
              if (object == null) {
                  value = "";
              }else if (object instanceof String) {
                  value = (String) object;
              } else {
                  value = String.valueOf(object);
              }
  
              if (includeEmptyParam || !TextUtils.isEmpty(value)) {
                  content.append((isFirstParm ? "" : "&") + key + "=" + value);
                  isFirstParm = false;
              } else {
                  continue;
              }
          }
  
          //待签名的字符串
          return content.toString();
      }
docs: 根据参数map获取待签名字符串
  @param params 待签名参数map
  @param includeEmptyParam 是否包含值为空的参数：
  与 HMS-SDK 支付能力交互的签名或验签，需要为false（不包含空参数）
  由华为支付服务器回调给开发者的服务器的支付结果验签，需要为true（包含空参数）
  @return 待签名字符串