Я часами пытался понять это. Это фрагмент того, что у меня есть, но не работает:
private void imageToRoll(Bitmap bitmap, Uri uri){
String name = getFileName(uri);
SharedPreferences sharedPreferences = getSharedPreferences("data", MODE_PRIVATE);
// i have this set to true
if (sharedPreferences.getBoolean("allow_image_overwrite", false)){
File file = new File(getPath(uri));
Log.d("Data", getPath(uri));
boolean deleted = file.delete();
if (deleted){
Log.d("Data", "File Deleted");
// MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, name, description);
} else {
Log.e("Error", "Delete Failed");
}
} else {
// MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, name + "_flipped", null);
}
}
private String getPath(Uri uri) {
String[] projection = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(uri, projection, null, null, null);
startManagingCursor(cursor);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
Любая помощь приветствуется. Я попытался добавить контекст, используя базовый URI, с помощью медиа-сканера и т. Д. c.
2020-05-04 03:38:59.257 613-613/com.essentialapps.sharetoflip D/Data: /storage/emulated/0/DCIM/Screenshots/Screenshot_20200504-012103_Share To Flip.jpg
2020-05-04 03:38:59.258 613-613/com.essentialapps.sharetoflip E/Error: Delete Failed