//图片选择器
private void matisse() {
Matisse.from(AddCarActivity.this)
.choose(MimeType.allOf())
.countable(true)
.capture(true)
.captureStrategy(
new CaptureStrategy(true, "包名"))
.maxSelectable(1)
.addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))
.gridExpectedSize(
getResources().getDimensionPixelSize(R.dimen.grid_expected_size))
.restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
.theme(R.style.Echarge)
.thumbnailScale(0.85f)
.imageEngine(new PicassoEngine())
.forResult(REQUEST_CODE_CHOOSE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CODE_CHOOSE && resultCode == RESULT_OK) {
List<Uri> mSelected = Matisse.obtainResult(data);
Uri uri = mSelected.get(0);
String realFilePath = UriToPathUtil.getRealFilePath(AddCarActivity.this, uri);
list.add(realFilePath);
GlideUtils.loadImageViewSize(AddCarActivity.this, uri, 639, 464, mIvDrivingLicense);
}
}
@Override
public void onAllGranted(String[] allPermissions) {
matisse();
}
@Override
public void onDeined(String[] dinedPermissions) {
}
//存入到map集合中
private void initParam(HashMap map) {
//判断当前是否选择认证
switch (isAuthentication) {
case "1":
//选择认证
//上传图片
for (String imagePath : list) {
File file = new File(imagePath);
//this.map.put("drivingLicensePhoto\";filename=\"" + file.getName().toLowerCase(), RequestBody.create(MediaType.parse("image/jpg"), file));
// 创建 RequestBody,用于封装构建RequestBody
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
// MultipartBody.Part 和后端约定好Key,这里的partName是用image
body = MultipartBody.Part.createFormData("drivi", file.getName(), requestFile);
//map1.put("drivingLicensePhoto", requestFile);
}
break;
}
}
//获取
private void netWork() {
Retrofit retrofit = RetrofitUtils.retrofitutild(AddCarActivity.this, Interface.BASEURL2);
BaseApi baseApi = retrofit.create(BaseApi.class);
String token = SharePreferenceUtils.getToken(AddCarActivity.this);
map = new HashMap();
//map1 = new HashMap<String, RequestBody>();
initParam(map);
//判断token是否为空
if (TextUtils.isEmpty(token)) {
return;
} else {
if (body == null) {
bindCar = baseApi.getBindCar(token, map);
} else {
bindCar = baseApi.getBindCar(token, map, body);
}
bindCar.enqueue(new Callback<AddCarBean>() {
@Override
public void onResponse(Call<AddCarBean> call, Response<AddCarBean> response) {
//获取数据并提示
AddCarBean addCarBean = response.body();
if (addCarBean != null & addCarBean.getCode() == 0) {
//表示请求成功--进行提示
ToastUtil.showToast(AddCarActivity.this, addCarBean.getData());
finish();
} else if (addCarBean.getCode() == 1) {
//TokenDialogUtils.tokenDialog(AddCarActivity.this);
} else {
ToastUtil.showToast(AddCarActivity.this, addCarBean.getError().toString());
}
}
@Override
public void onFailure(Call<AddCarBean> call, Throwable t) {
t.printStackTrace();
ToastUtil.showToast(AddCarActivity.this, "网络连接失败");
}
});
}
//点击事件启动
new RTPermission.Builder()
.permissions(
Manifest.permission.CAMERA
)
.start(this, this);