java – 启动相机意图,但不保存图像
发布时间:2020-12-15 00:45:20 所属栏目:Java 来源:网络整理
导读:有没有办法使用相机,但只是暂时保存图像?我正在使用以下代码加载相机,然后我使用onActivityResult()来获取图像(如果有的话……) Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 问题是当拍摄图像时,它会被保存到SD
有没有办法使用相机,但只是暂时保存图像?我正在使用以下代码加载相机,然后我使用onActivityResult()来获取图像(如果有的话……)
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 问题是当拍摄图像时,它会被保存到SD卡中. 编辑 意图由以下代码调用 String imagePath; imagePath = Environment.getExternalStorageState() + "/images/myimage.jpg"; File file = new File( imagePath ); Uri outputFileUri = Uri.fromFile( file ); Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); cameraIntent.putExtra( MediaStore.EXTRA_OUTPUT,outputFileUri ); startActivityForResult(cameraIntent,CAMERA_PIC_REQUEST); 当活动返回我正在使用的数据(onActivityResult)时 File imageFile = new File(imagePath); imageFile.delete(); 图像永远不会被删除.另外,如果我进入我的图库应用程序,图像中有一个默认名称(如image57465.jpg),我想知道cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT,outputFileUri);实际上并没有工作. 编辑2 实际上,文件正在保存到SDCARD,并正确删除.但是,似乎正在保存缩略图.我想知道如何获取缩略图路径,以便我可以在使用它后删除它吗? 解决方法
好吧,你不能在完成使用后删除图像吗?我刚刚快速检查了Camera API规范,但我找不到任何表明你可以将图像标记为临时图像的东西.
请尝试以下方法: public onActivityResult(int request,int result,Intent data) { if( request == CAPTURE_IMAGE ) { if( result == RESULT_OK ) { /*Use the image in the way you want to here and save the path */ //Delete the image File image = new File(path); image.delete(); } } } 如果它适合您,请告诉我. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |