Android如何调用系统相机拍照

本文实例为大家分享了Android调用系统相机拍照的具体代码,供大家参考,具体内容如下

/**   * 调用系统相机   */  private void takePhoto() {    Uri uri = null;    if (which_image == FRONT_IMAGE) {      frontFile = new File(getSDPath() +"/test/front_" + getDate() + ".jpg");      uri = Uri.fromFile(frontFile);    } else if (which_image == BACK_IMAGE) {      backFile = new File(getSDPath() + "/test/back_" + getDate() + ".jpg");      uri = Uri.fromFile(backFile);    }    Intent captureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);    captureIntent.putExtra(MediaStore.Images.Media.ORIENTATION, 0);    captureIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);    captureIntent.putExtra("return-data", true);    startActivityForResult(captureIntent, TAKE_PHOTO);  }  /**   * 获取系统时间   *   * @return   */  public static String getDate() {    Calendar ca = Calendar.getInstance();    int year = ca.get(Calendar.YEAR);      // 获取年份    int month = ca.get(Calendar.MONTH);     // 获取月份    int day = ca.get(Calendar.DATE);      // 获取日    int minute = ca.get(Calendar.MINUTE);    // 分    int hour = ca.get(Calendar.HOUR);      // 小时    int second = ca.get(Calendar.SECOND);    // 秒    String date = "" + year + (month + 1) + day + hour + minute + second;    return date;  }  /**   * 获取SD path   *   * @return   */  public String getSDPath() {    File sdDir = null;    boolean sdCardExist = Environment.getExternalStorageState()        .equals(android.os.Environment.MEDIA_MOUNTED); // 判断sd卡是否存在    if (sdCardExist) {      sdDir = Environment.getExternalStorageDirectory();// 获取跟目录      return sdDir.toString();    }    return null;  }  @Override  protected void onActivityResult(int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);    if (requestCode == TAKE_PHOTO && resultCode == RESULT_OK) {//      Bundle bundle = data.getExtras();//      Bitmap bitmap = (Bitmap) bundle.get("data");//      if (which_image == FRONT_IMAGE) {//        ivCardFront.setImageBitmap(bitmap);//      } else if (which_image == BACK_IMAGE) {//        ivCardBack.setImageBitmap(bitmap);//      }      try {        if (which_image == FRONT_IMAGE) {          Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(), frontFile.getAbsolutePath(), null, null));          ContentResolver contentResolver = this.getContentResolver();          Bitmap bitmap = BitmapFactory.decodeStream(contentResolver.openInputStream(uri));          ivCardFront.setImageBitmap(bitmap);        } else if (which_image == BACK_IMAGE) {          Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(), backFile.getAbsolutePath(), null, null));          ContentResolver contentResolver = this.getContentResolver();          Bitmap bitmap = BitmapFactory.decodeStream(contentResolver.openInputStream(uri));          ivCardBack.setImageBitmap(bitmap);        }      } catch (FileNotFoundException e) {        e.printStackTrace();      }    }  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

一定要成为你工作最大的资产。

Android如何调用系统相机拍照

相关文章:

你感兴趣的文章:

标签云: