iv_camera.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //创建File对象,用于存储拍照后的图片 File outputImage = new File(getExternalCacheDir(), System.currentTimeMillis() + ".jpg"); imagePath = outputImage.getPath(); try { if (outputImage.exists()) { outputImage.delete(); } outputImage.createNewFile(); } catch (IOException e) { e.printStackTrace(); } if (Build.VERSION.SDK_INT >= 24) { imageUri = FileProvider.getUriForFile(MainActivity.this, "com.exampleytpeak.paizhao.fileprovider", outputImage); } else { imageUri = Uri.fromFile(outputImage); } // 启动相机 Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri); startActivityForResult(intent, REQUEST_CAPTURE); } });
时间: 2023-07-15 20:11:48 浏览: 111
android_Use-the-camera.rar_android_android 拍照_android相机预览_camera
这段代码是一个点击事件监听器,当用户点击一个名为iv_camera的视图时,会执行该监听器中的代码。这段代码的作用是打开相机拍照,并将拍摄后的照片保存到指定的路径中。具体来说:
1. 创建一个outputImage文件对象,用于保存拍照后的照片。
2. 获取outputImage的路径,并将其赋值给imagePath变量。
3. 如果outputImage已经存在,则先删除它,然后重新创建。
4. 根据系统版本的不同,获取相应的Uri对象。如果系统版本大于等于24,则需要使用FileProvider来获取Uri对象,否则直接使用Uri.fromFile()方法获取。
5. 创建一个启动相机的Intent对象,并将imageUri作为参数传递给它。
6. 调用startActivityForResult()方法启动相机,并传递一个请求码REQUEST_CAPTURE。
注意,这段代码中并没有对相机权限进行检查,因此在使用前需要先检查权限。另外,需要在AndroidManifest.xml文件中添加相应的FileProvider配置。
阅读全文