【问题标题】:Android-Image-Cropper Permission READ/WRITE_EXTERNAL_STORAGE issueAndroid-Image-Cropper 权限 READ/WRITE_EXTERNAL_STORAGE 问题
【发布时间】:2018-06-15 11:55:49
【问题描述】:

我正在使用库 Android-Image-Cropper(太棒了!),但有些东西我不太明白。

我正在使用来自本地文件系统(即图库、文件管理器)的相机添加/更新个人资料图片库。

虽然没有向我的清单添加任何存储使用权限,但我仍然能够捕获图片或从文件系统中选择一张。

这与我没有保存图片并将其从 URI 中直接提取到我的 SharedPreferences 有关吗?

Manifest 文件的权限部分:

<uses-feature
    android:name="android.hardware.bluetooth_le"
    android:required="true" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />

<uses-feature
    android:name="android.hardware.camera"
    android:required="true" />

片段中的使用示例:

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.userImage:
            CropImage.activity()
                    .setGuidelines(CropImageView.Guidelines.ON)
                    .setCropShape(CropImageView.CropShape.OVAL)
                    .setFixAspectRatio(true)
                    .setMinCropWindowSize(150,150)
                    .setScaleType(CropImageView.ScaleType.CENTER)
                    .start(mActivity, this);
            break;
    }
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.d("AddNewUserFragment", "[onActivityResult]");
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE)
    {
        CropImage.ActivityResult result = CropImage.getActivityResult(data);
        if (resultCode == RESULT_OK) {
            Uri resultUri = result.getUri();

            try {
                newProfilePic = mPalPhotoManager.getThumbnail(resultUri);
                String encodeUserImage = mPalPhotoManager.encodeImage(newProfilePic);
                mPalPhotoManager.saveImageToPreferences(encodeUserImage);
                mPalPhotoManager.setUserImage(newProfilePic, mUserImage);
                saveImageToServer = true;
            } catch (IOException e) {
                e.printStackTrace();
            }
        } else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
            result.getError().printStackTrace();
            saveImageToServer = false;

        }
    }
}

【问题讨论】:

    标签: android-imageview android-permissions android-storage android-image-capture


    【解决方案1】:

    如果有人遇到这个问题,图书馆的已关闭问题中有一个关于这个确切问题的线程 here

    【讨论】:

      猜你喜欢
      • 2018-08-19
      • 1970-01-01
      • 1970-01-01
      • 2018-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-19
      相关资源
      最近更新 更多