Я изучаю Android.
Я хочу загрузить изображение из галереи ..
но что-то не так
пожалуйста, помогите ....
Это похоже на меня введите описание ссылки здесь
Это мой код ошибки
Я думаю, что это означает, что «я не могу дотронуться до моего Uri»
но я проверил свой манифест
Это код ошибки.
Причина: java.lang.SecurityException: UID 10087 не имеет разрешения для uri 0 @ content: //com.google.android.apps.photos.contentprovider/-1/1/content % 3A% 2F% 2Fmedia% не 2Fexternal% 2Ffile% 2F116 / оригинал / NONE / 1817194500
на android.os.Parcel.readException (Parcel.java:1684)
на android.os.Parcel.readException (Parcel.java:1637)
на android.app.ActivityManagerProxy.startActivity (ActivityManagerNative.java:3101)
на android.app.Instrumentation.execStartActivity (Instrumentation.java:1518)
на android.app.Activity.startActivityForResult (Activity.java:4225)
на android.support.v4.app.FragmentActivity.startActivityForResult (FragmentActivity.java:757)
на android.app.Activity.startActivityForResult (Activity.java:4183)
на android.support.v4.app.FragmentActivity.startActivityForResult (FragmentActivity.java:744)
at com.example.z2_sooodt.syslet_2018_summer.pre_startActivity.onActivityResult (pre_startActivity.java:220)
atroid.app.Activity.dispatchActivityResult (Activity.java:6932)
Это моя часть Манифеста
<manifest...
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.camera" android:required="true"/>
.... </application
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.example.z2_sooodt.syslet_2018_summer.filepaths"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/filepaths" />
</provider>
</application>
и часть кода
private Uri mImage;
private ImageView iview;
private String absoultePath;
private static final int PICK_FROM_CAMERA = 0;
private static final int PICK_FROM_ALBUM = 1;
private static final int CROP_FROM_IMAGE = 2;
public int FuckingFLAG;
private String[] permissions = {Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.CAMERA};
@Override
public void onClick(View view) {
final DialogInterface.OnClickListener cameraListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType(android.provider.MediaStore.Images.Media.CONTENT_TYPE);
intent.setData(android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent, PICK_FROM_ALBUM);
}
};
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) {
return;
}
if(requestCode == PICK_FROM_ALBUM) {
if (data == null)
return;
mImage = data.getData();
Intent cropPictureIntent = new Intent("com.android.camera.action.CROP");
cropPictureIntent.setDataAndType(mImage, "image/*");
cropPictureIntent.putExtra("output", mImage);
cropPictureIntent.putExtra("outputX", 256);
cropPictureIntent.putExtra("outputY", 256);
cropPictureIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
cropPictureIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
startActivityForResult(cropPictureIntent, CROP_FROM_IMAGE); /*This is the Error
(at com.example.z2_sooodt.syslet_2018_summer.pre_startActivity.onActivityResult(pre_startActivity.java:220) ) **///
}