Я хочу выбрать изображение из галереи, а затем сохранить путь. Я использую этот путь для отображения изображений в RecyclerView
. Я использую Picasso
, чтобы загрузить изображение в ImageView
. У меня проблема заключается в следующем:Разрешение Отказ от средств массовой информации поставщик документов
когда я выбираю изображение правильно отображается в RecyclerView
, но если оставить экран и вернуться, я получаю эту ошибку:
01-19 15:05: 18,984 542-840 /? W/ActivityManager: Разрешение: открытие провайдера com.android.providers.media.MediaDocumentsProvider from ... требует android.permission.MANAGE_DOCUMENTS или android.permission.MANAGE_DOCUMENTS
и изображение больше не отображается. Это мой код:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_DOCUMENTS"/>
AlertDialog.Builder builder = new AlertDialog.Builder(getMainActivity());
builder.setTitle("Choose Image Source");
builder.setItems(new CharSequence[] {"Gallery"},
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
Intent intent;
// GET IMAGE FROM THE GALLERY
intent = new Intent(Intent.ACTION_GET_CONTENT, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("image/*");
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true); // Show local files only (available since honeycomb, sdkVersion 11)
startActivityForResult(Intent.createChooser(intent, "Choose a picture"), Constants.REQUEST_CHOOSE_PHOTO);
}
});
builder.show();
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
ImageDb image = new ImageDb();
if (resultCode == Activity.RESULT_OK) {
switch (requestCode) {
case Constants.REQUEST_CHOOSE_PHOTO:
image.setImageFilePath(data.getData().toString());
break;
}
images.add(image);
}
}
@BindingAdapter({"url", "size"})
public static void loadImage(ImageView imageView, String url, float size) {
if (!Strings.isNullOrEmpty(url)) {
Picasso.with(imageView.getContext()).load(url).resize((int) size, (int) size).centerCrop().into(imageView);
}
}
Кто-нибудь знает, где проблема ?? Спасибо заранее!