关于一些手机拍照时无法获取onActivityResult()中的intent

来源:互联网 发布:淘宝大麻种子 编辑:程序博客网 时间:2024/05/14 03:51

在一些手机上,如拍照时的上下文传递的intent时,就无法从传过来的intent中获取bundle的值,就无法显示bitmap

这是我们就可以通过if语句这么处理,直接看demo

private void saveFullImage() {Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);// 文件夹aaaaString path = Environment.getExternalStorageDirectory().toString()+ "/aaaa";File path1 = new File(path);if (!path1.exists()) {path1.mkdirs();}File file = new File(path1, System.currentTimeMillis() + ".jpg");System.out.println("--->>" + System.currentTimeMillis());mOutPutFileUri = Uri.fromFile(file);intent.putExtra(MediaStore.EXTRA_OUTPUT, mOutPutFileUri);intent.putExtra("return-data", true);System.out.println("--->>" + mOutPutFileUri);startActivityForResult(intent, 1);}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == 1) {if (data != null) {Bundle bundle = data.getExtras();Bitmap bitmap = (Bitmap) bundle.get("data");imageView.setImageBitmap(bitmap);} else {
//这里就是无法获取data时,建议采取的方法String picpath = mOutPutFileUri.toString();Bitmap bitmap = BitmapFactory.decodeFile(picpath);imageView.setImageURI(mOutPutFileUri);}}}


0 0
原创粉丝点击