android-将MediaStore.EXTRA_OUTPUT用于ACTION_IMAGE_CAPTURE时,onActivityResult的空意图

android-将MediaStore.EXTRA_OUTPUT用于ACTION_IMAGE_CAPTURE时,onActivityResult的空意图,第1张

概述我正在尝试从ACTION_IMAGE_CAPTURE活动中检索文件,但是当我使用cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,MediaStore.Images.Media.EXTERNAL_CONTENT_URI);我的活动结果没有意图.这是完整的代码.意图IntentcameraIntent=newIntent(MediaStore.ACTION_IMAGE_CAPT

我正在尝试从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的空意图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1089061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存