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时不会崩溃。
但是对于未设置Year的歌曲,其值为0,因此,当我更改除年份之外的所有内容(保留为0的年份)时,都会出现错误。
错误是什么意思?