-
Notifications
You must be signed in to change notification settings - Fork 3k
PictureSelector 2.0 结果回调
Luck edited this page Jan 9, 2022
·
1 revision
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST:
// 图片选择结果回调
selectList = PictureSelector.obtainMultipleResult(data);
// 例如 LocalMedia 里面返回五种path
// 1.media.getPath(); 原图path,但在Android Q版本上返回的是content:// Uri类型
// 2.media.getCutPath();裁剪后path,需判断media.isCut();切勿直接使用
// 3.media.getCompressPath();压缩后path,需判断media.isCompressed();切勿直接使用
// 4.media.getOriginalPath()); media.isOriginal());为true时此字段才有值
// 5.media.getAndroidQToPath();Android Q版本特有返回的字段,但如果开启了压缩或裁剪还是取裁剪或压缩路
径;注意:.isAndroidQTransform(false);此字段将返回空
// 如果同时开启裁剪和压缩,则取压缩路径为准因为是先裁剪后压缩
for (LocalMedia media : selectList) {
Log.i(TAG, "压缩::" + media.getCompressPath());
Log.i(TAG, "原图::" + media.getPath());
Log.i(TAG, "裁剪::" + media.getCutPath());
Log.i(TAG, "是否开启原图::" + media.isOriginal());
Log.i(TAG, "原图路径::" + media.getOriginalPath());
Log.i(TAG, "Android Q 特有Path::" + media.getAndroidQToPath());
// TODO 可以通过PictureSelectorExternalUtils.getExifInterface();方法获取一些额外的资源信息,
如旋转角度、经纬度等信息
}
break;
}
}
}
// 从v2.4.5开始新增 Callback回调方式返回结果...
.forResult(new OnResultCallbackListener() {
@Override
public void onResult(List<LocalMedia> result) {
// 例如 LocalMedia 里面返回五种path
// 1.media.getPath(); 原图path,但在Android Q版本上返回的是content:// Uri类型
// 2.media.getCutPath();裁剪后path,需判断media.isCut();切勿直接使用
// 3.media.getCompressPath();压缩后path,需判断media.isCompressed();切勿直接使用
// 4.media.getOriginalPath()); media.isOriginal());为true时此字段才有值
// 5.media.getAndroidQToPath();Android Q版本特有返回的字段,但如果开启了压缩或裁剪还是取裁剪或压缩路
径;注意:.isAndroidQTransform(false);此字段将返回空
// 如果同时开启裁剪和压缩,则取压缩路径为准因为是先裁剪后压缩
// TODO 可以通过PictureSelectorExternalUtils.getExifInterface();方法获取一些额外的资源信息,
如旋转角度、经纬度等信息
for (LocalMedia media : result) {
Log.i(TAG, "是否压缩:" + media.isCompressed());
Log.i(TAG, "压缩:" + media.getCompressPath());
Log.i(TAG, "原图:" + media.getPath());
Log.i(TAG, "是否裁剪:" + media.isCut());
Log.i(TAG, "裁剪:" + media.getCutPath());
Log.i(TAG, "是否开启原图:" + media.isOriginal());
Log.i(TAG, "原图路径:" + media.getOriginalPath());
Log.i(TAG, "Android Q 特有Path:" + media.getAndroidQToPath());
}
}
@Override
public void onCancel() {
Log.i(TAG, "PictureSelector Cancel");
}
});