我正在尝试从ACTION_IMAGE_CAPTURE活动中检索文件,但是当我使用
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
我的活动结果没有意图.这是完整的代码.
意图
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);startActivityForResult(cameraIntent, 1888);
我的onActivityResult
protected voID onActivityResult(int requestCode, int resultCode, Intent data){ if (requestCode == 1888 && resultCode == RESulT_OK) { Uri uri = (Uri)data.getData(); Intent i = new Intent(getApplicationContext(), Camara.class); i.putExtra("uri", uri); startActivity(i); }}
我正在使用以下权限
<uses-permission androID:name="androID.permission.CAMERA" /><uses-permission androID:name="androID.permission.INTERNET" /><uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission androID:name="androID.permission.READ_EXTERNAL_STORAGE" />
我需要访问捕获图像的文件,但是我的参数数据为空
然后,如何获取文件?像这样?
file myfile = new file(uri.getPath());
我也试过这个:
Uri uri = (Uri)data.getData();Intent i = new Intent(getApplicationContext(), Camara.class);i.putExtra("uri", uri);startActivity(i);
在这种情况下,我可以使用此位图
Bitmap lafoto = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri);
但我无法获取文件
我尝试遵循此解决方案,但对我无效Get Path of image from ACTION_IMAGE_CAPTURE Intent
解决方法:
问题是,当您提供extra_output时,文件将写在提供的URI中,因此您只需通过该URI访问即可使用捕获的图像.因此,onActivityResult上没有提供任何数据,因为当相机应用程序的意图中未提供extra_output时,相机应用程序只会在onActivityResult中返回一个微型位图作为Intent Extras.
总结以上是内存溢出为你收集整理的android-将MediaStore.EXTRA_OUTPUT用于ACTION_IMAGE_CAPTURE时,onActivityResult的空意图全部内容,希望文章能够帮你解决android-将MediaStore.EXTRA_OUTPUT用于ACTION_IMAGE_CAPTURE时,onActivityResult的空意图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)