Хорошо, я создаю приложение для медиаплеера, которое позволяет вам вручную редактировать теги песен. Я использую jaudiotagger для редактирования тегов и значений содержимого для обновления медиастора. Все работает нормально, но, кажется, когда вы меняете название альбома, вместо добавления песни к этому альбому в медиастор, он создает другой альбом с тем же именем.
Например, я меняю теги песен, где исполнитель = неизвестно, альбом = неизвестно, название = отбивай артиста = система пуха, альбом = токсичность. Вместо того, чтобы добавить это к уже существующей токсичности в системе пуха, это делает другую токсичность в системе пуха. Две токсичности с разными album_keys.
Итак, у меня возникла идея сначала запросить альбомы исполнителей, чтобы проверить, существует ли уже поле альбома с таким именем под определенным исполнителем, и если да, то использовать contentvalues, чтобы обновить поле album_key до первого найденного , но это ошибки "нет такого столбца: album_key" при обновлении.
values.put(MediaStore.Audio.Media.ARTIST, artist); //works fine, doesn't duplicate
values.put(MediaStore.Audio.Media.ALBUM, album); //duplicates instead of adding to existing albums
values.put(MediaStore.Audio.Media.ALBUM_KEY, albumkey); //no such column: album_key error when updating
Uri uri = ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, media_id);
resolver.update(uri, values, null, null);
Так, каков наилучший способ добавить песню в уже существующий альбом в медиастор?