saveToGallery SQLiteDatabase: Ошибка при вставке bucket_id - PullRequest
0 голосов
/ 15 декабря 2018

Я не могу сохранить график.Я получаю ложное восстановленное значение из saveToGallery, и в logs я вижу следующее:

SQLiteDatabase: Ошибка вставки bucket_id = -2075821635 date_modified = 1544882049 is_hw_burst = 0 datetaken = 1 544882049000 bucket_display_name = DCparent = 8 format = 14337 storage_id = 65537 media_type = 1 mime_type = image / jpeg title = chart.jpg d escription = Библиотека MPAndroidChart Сохранить _data = / storage / emulated / 0 / DCIM / chart.jpg _size = 33015 date_added = 1544882049 _display_name= chart.jpg ориентация = 0.

У меня есть все разрешения в манифесте, а также разрешение runtime.Какова основная причина?

Этот метод используется для проверки на runtime

public static void verifyStoragePermissions(Activity activity) {
        // Check if we have write permission
        int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);

    if (permission != PackageManager.PERMISSION_GRANTED) {
        // We don't have permission so prompt the user
        ActivityCompat.requestPermissions(
                activity,
                PERMISSIONS_STORAGE,
                REQUEST_EXTERNAL_STORAGE
        );
    }
}

И он используется для сохранения диаграммы:

case R.id.fab_save:
            boolean saved = lineChart.saveToGallery(file_name,100);
                Toast.makeText(getApplicationContext(),"File saved "+saved, Toast.LENGTH_LONG ).show();
            break;

1 Ответ

0 голосов
/ 15 декабря 2018

Проблема была с уникальностью file_name.Например, это может быть:

`Long tsLong = System.currentTimeMillis()/1000;
                String ts = tsLong.toString();
            boolean saved = lineChart.saveToGallery(file_name+ts,100);`
...