public void initEvent() { tv_add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { startActivity(new Intent(MainActivity.this, AddPaizhaoAct.class)); } }); 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 21:12:08 浏览: 170
Android自定义View之签名板
这是一个 Android 应用程序的主活动中的初始化事件方法,其中包含了添加和拍照按钮的点击事件处理。在点击拍照按钮时,该方法会创建一个用于存储拍照后图片的文件对象,并将其路径保存在 imagePath 变量中。然后,根据当前 Android 版本来确定使用哪种方式获取文件的 Uri 。最后,调用相机应用程序的 Intent ,并传递输出文件的 Uri ,以启动相机拍照,并在拍照后返回结果。该结果将在 onActivityResult() 方法中被处理。
阅读全文