private void pickOrTakePicture(int requestCode) {
storeFolder = getCacheDir();
Intent pickIntent = new Intent();
pickIntent.setType("image/*");
pickIntent.setAction(Intent.ACTION_GET_CONTENT);
Intent takePhotoIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
pickFile = new File(storeFolder, ImageUtils.getHexRandomString(4) + ".jpg");
try {
pickFile.createNewFile();
pickFile.setWritable(true, false);
}
catch(IOException e) {
e.printStackTrace();
}
takePhotoIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(pickFile));
// String pickTitle = "Select or take a new Picture";
String pickTitle = "";
Intent chooserIntent = Intent.createChooser(pickIntent, pickTitle);
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { takePhotoIntent });
startActivityForResult(chooserIntent, requestCode);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_PHOTO) {
if (resultCode == RESULT_OK) {
Uri iconUri;
if (data != null && data.getData() != null) {
iconUri = data.getData();
}
else {
iconUri = Uri.fromFile(pickFile);
}
}
摄像机返回值data为空可用Uri获取图片
最新推荐文章于 2022-02-18 17:34:11 发布