//图片选择器
private void matisse() {
Matisse.from(BasicDataActivity.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) {
mSelected = Matisse.obtainResult(data);
Uri uri = mSelected.get(0);
Bitmap smallBitmap = null;
try {
smallBitmap = ImageUtils.getBitmapFromUri(uri, BasicDataActivity.this);
image2Up(smallBitmap);
} catch (IOException e) {
}
}
}
/**
* 上传图片
*
* @param smallBitmap
*/
private void image2Up(final Bitmap smallBitmap) {
Retrofit retrofit1 = RetrofitUtils.retrofitutild(BasicDataActivity.this, Interface.BASEURL2, "图片上传中...");
BaseApi baseApi = retrofit1.create(BaseApi.class);
String s = ImageUtils.bitmapToString(smallBitmap);
Call<PublicBean> call = baseApi.getModifyavatar(SharePreferenceUtils.getToken(BasicDataActivity.this), s);
call.enqueue(new Callback<PublicBean>() {
@Override
public void onResponse(Call<PublicBean> call, Response<PublicBean> response) {
RetrofitUtils.loadingDialog.dismiss();
PublicBean bean = response.body();
if (bean == null) return;
if (bean.getCode() == 0) {
instance.put("avr", mSelected.get(0).toString());
Uri uri = mSelected.get(0);
GlideUtils.loadImageViewSize(BasicDataActivity.this, uri, 180, 180, R.mipmap.ic_default_avatars, mCiAvatar);
} else if (bean.getCode() == 2) {
TokenDialogUtils.tokenDialog(BasicDataActivity.this);
} else {
//Toast.makeText(BasicDataActivity.this, bean.getError().toString(), Toast.LENGTH_SHORT).show();
DialogUtils.showAlertDialog(BasicDataActivity.this, bean.getError().toString());
}
}
@Override
public void onFailure(Call<PublicBean> call, Throwable t) {
RetrofitUtils.loadingDialog.dismiss();
t.printStackTrace();
}
});
}
@Override
public void onAllGranted(String[] allPermissions) {
matisse();
}
@Override
public void onDeined(String[] dinedPermissions) {
//displayFrameworkBugMessageAndExit();
}
//点击启动
new RTPermission.Builder()
.permissions(
Manifest.permission.CAMERA
)
.start(this, this);