ギャラリーから画像を選択してパスを保存します。このパスを使って画像をRecyclerView
に表示します。私はPicasso
を使って画像をImageView
にダウンロードします。私が持っている問題は、以下の通りである。許可メディア文書の拒否プロバイダ
私は画像が正しくRecyclerView
に示されているが、私は、画面を離れて戻ってきた場合、私はこのエラーを取得選択した場合:
1月19日午前15時05分に: 18.984 542-840 /? W/ActivityManager:許可の拒否:プロバイダcom.android.providers.media.MediaDocumentsProviderを開くには、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);
}
}
どこに問題があるのか知っていますか?ありがとうございます!