Сообщение об ошибке Logcat, которое я получаю:
android.database.sqlite.SQLiteConstraintException: CHECK constraint failed
Код, который я использую для обновления значений содержимого:
ContentResolver resolver = c.getContentResolver();
String currentTitle = MediaStore.Audio.Media.TITLE;
String currentArtist = MediaStore.Audio.Media.ARTIST;
String currentAlbum = MediaStore.Audio.Media.ALBUM;
String currentYear = MediaStore.Audio.Media.YEAR;
ContentValues values = new ContentValues();
values.put(currentTitle, title);
values.put(currentArtist, artist);
values.put(currentAlbum, album);
values.put(currentYear, year);
ContentValues values2 = new ContentValues();
values.put(MediaStore.Audio.Genres.NAME, genre);
String where = MediaStore.Audio.Media._ID + "=?";
String[] whereVal = {Long.toString(songID)};
resolver.update(musicUri, values, where, whereVal);
заголовок переменной, исполнитель, альбом и год - это значения, которые я получаю из EditTexts.
Все работает, кроме случаев, когда я пытаюсь обновить значение для MediaStore.Audio.Media.YEAR .
Я заметил, что когда я оставляю EditText пустым или вставляю число> 0, это не приводит к сбою.
Но для песен, для которых не установлен год, значение имеет 0, поэтому, когда я изменяю все, кромегод, который остается 0, тогда я получаю ошибку.
Что означает ошибка?