@Destplay

File.delete(); Почему не работает?

Добрый день, у меня такая проблема, не могу удалить файл из галереи.
Сначала сохраняю ссылку на скаченный файл в базу:
private void saveBase(int i){
        ContentValues content = new ContentValues();
        SQLiteDatabase database = pricedb.getWritableDatabase();
        content.put("images", urs[i]);

        long rowID = database.insert("db_prices", null, content);
        Log.e(ConfigVar.LOG_TAG, "URI: "+ urs[i]);
    }


Потом при следующей загрузке изображения чищу базу и удаляю файлы, но файлы не удаляются:
private void deleteBase() {
        SQLiteDatabase database = pricedb.getWritableDatabase();

        Cursor cursor = database.query("db_prices", null, null, null, null, null, null);
        if (cursor.moveToFirst()) {
            int images = cursor.getColumnIndex("images");
            do {
                String image = cursor.getString(images);
                File file = new File(image);
                if (file.exists()) {
                    if (file.delete()) {
                        Log.e(ConfigVar.LOG_TAG, "Файл удалён: "+ image);
                    } else {
                        Log.e(ConfigVar.LOG_TAG,"Файл не найден :"+ image);
                    }
                }
            }
            while (cursor.moveToNext());
        }
        database.delete("db_prices", null, null);
    }


В логах пишет что файл удалён, но в галереи они только умножаются(загружаю каждый раз).

P.S: в манифесте:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  • Вопрос задан
  • 742 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Destplay Автор вопроса
Вопрос решился, несмотря на то что в логах он писал "Файл удалён: /storage/emulated/0/Pictures/CafeHab/hamburger_big.png" в галереи к названию файла добавлялось -1 -2 и тд пример: "hamburger_big-1.png". Пришлось кастыль делать )
urs[i] = urs[i].replaceAll(".png","-1.png");
                        urs[i] = urs[i].replaceAll(".jpg","-1.jpg");
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы