如何在android中使用artofdev仅打开相机和裁剪

Posted

技术标签:

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

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

【问题讨论】:

你解决了吗? 【参考方案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 打开相机和裁剪图像。没有打开选择器文件只打开相机允许...请任何人帮助

以上是关于如何在android中使用artofdev仅打开相机和裁剪的主要内容,如果未能解决你的问题,请参考以下文章

Android : 将图库功能与相机捕捉相结合

在Android 6中打开wifi时如何为任何应用程序强制使用移动数据

来自深度链接意图时如何仅打开 1 个 android 应用程序实例?

Android开发教程 - 使用Data Binding Android Studio不能正常生成相

如何使用json解析android在listview中获取图像

Android 地理围栏示例应用程序仅在使用 GPS 打开另一个应用程序时才有效