Android 调用系统相机 失败
16lz
2021-01-23
最近花了几个小时淌了这个坑,记录下了
Android 调用系统相机
这里我就不详细介绍了直接贴代码:
在拍照按钮的回调中加入如下代码:
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);Uri imgUri = createImgUri();//Uri imgUri = Uri.parse("file:///" + Environment.getExternalStorageDirectory().getPath() + "/VEGE/temp.jpg");takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, imgUri);startActivityForResult(takePictureIntent, 1);
其中 createImgUri 函数是由一个文件路径生成一个 Uri ,具体 uri 例子在下面注释中给出。在当前 Activity 中实现下面函数:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) super.onActivityResult(requestCode,resultCode,data); if (ACTIVITY_CAMERA_FULL_CODE == requestCode){ if (RESULT_OK == resultCode){ //其中照片会被存储到 上面 Uri 所对应的文件中 } } }
参考网址:http://www.runoob.com/w3cnote/android-tutorial-camera.html
http://www.runoob.com/w3cnote/android-tutorial-activity.html
坑1:必须给到相机权限:
AndroidManifest.xml 中加入
,最坑的是 还要求动态申请权限,这个网上有很多例子。
坑2:上文中 Uri 所对应的文件,如果其所在的文件夹不存在的话,是无法保存文件的,关键是不报错,需要自己手动 makedirs 一下。
更多相关文章
- Android第五个功能:文件存储到SDCard上面
- Android Sqlite Failed to open database(无法打开数据库文件)
- android相机调试
- android tips:从资源文件中读取文件流显示
- Android的CheckBox控件的点击效果布局文件
- Android程序调试时生成main.out.xml文件
- Android访问权限大全
- 利用第三方jar包jaudiotagger实现与MediaMetadataRetriever类似
- 在Android中实现文件读写