【问题标题】:How to open only camera and crop using theartofdev in android如何在android中使用artofdev仅打开相机和裁剪
【发布时间】:2019-10-12 21:35:40
【问题描述】:

如何使用 theartofdev 依赖项仅打开相机和裁剪。我正在使用 theartofdev 依赖项 2.7.+。

【问题讨论】:

  • 你解决了吗?

标签: android android-intent android-activity camera startactivityforresult


【解决方案1】:

试试这个

 //Declare in Manifest file
   <activity
        android:name="com.theartofdev.edmodo.cropper.CropImageActivity"
        android:theme="@style/Base.Theme.AppCompat" />


// Declare global variable
  Uri mCropImageUri;

// write below line on the button click 
CropImage.startPickImageActivity(this);


// then result will received inside onActivityResult() method 
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    getImageCallback(requestCode,resultCode,data);
}


  public void getImageCallback(int requestCode, int resultCode, Intent data) {
    if (requestCode == CropImage.PICK_IMAGE_CHOOSER_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
        Uri imageUri = CropImage.getPickImageResultUri(this, data);
        // For API >= 23 we need to check specifically that we have permissions to read external storage.
        if (CropImage.isReadExternalStoragePermissionsRequired(this, imageUri)) {
            // request permissions and handle the result in onRequestPermissionsResult()
            mCropImageUri = imageUri;
            requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, CropImage.PICK_IMAGE_PERMISSIONS_REQUEST_CODE);
        } else {
            // no permissions required or already grunted, can start crop image activity
            startCropImageActivity(imageUri);
        }
    }
    else if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {

        CropImage.ActivityResult result = CropImage.getActivityResult(data);
        if (resultCode == RESULT_OK) {
            Uri resultUri = result.getUri();
            profileImage.setImageURI(resultUri);

        }
    }
}

 private void startCropImageActivity(Uri imageUri) {
    CropImage.activity(imageUri).setGuidelines(CropImageView.Guidelines.ON).setCropShape(CropImageView.CropShape.OVAL).start(this);
}

【讨论】:

  • 我正在尝试这个解决方案,这不是我的解决方案和问题。我的问题是只能使用 theartofdev 打开相机和裁剪图像。没有打开选择器文件只打开相机允许...请任何人帮助
猜你喜欢
  • 2013-07-01
  • 2014-10-21
  • 2013-08-10
  • 2016-12-27
  • 2019-08-23
  • 1970-01-01
  • 1970-01-01
  • 2019-12-28
  • 1970-01-01
相关资源
最近更新 更多