2015-12-08 1 views
0

Je suis en train de mettre à jour les quelques lignes qui vont MediaStore.Audio.Albums par id ALBUM_ID, mais je reçois cette erreurlignes de Mise à jour de MediaStore, obtenir Erreur inconnue ou URL non pris en charge

java.lang.UnsupportedOperationException: Inconnu ou URL non pris en charge: contenu: // médias/internes/albums audio/

Voici le code:

ctx.getContentResolver().update(
    MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, 
    values, 
    MediaStore.Audio.Albums.ALBUM_ID + "=" + 16, 
    null); 

Répondre

0

.update() lancers francs toujours cette erreur, peu importe ce que

java.lang.UnsupportedOperationException: URL inconnue ou non pris en charge: Contenu: // médias/internes/audio/albums

Pour mettre à jour, supprimer d'abord les lignes, puis insérez-les à nouveau.

Par exemple

D'abord, supprimer les lignes que vous souhaitez mettre à jour

Uri albumArtUri = Uri.parse("content://media/external/audio/albumart"); 

ctx.getContentResolver().delete(ContentUris.withAppendedId(albumArtUri, 16), null, null); 
ctx.getContentResolver().delete(ContentUris.withAppendedId(albumArtUri, 25), null, null); 
ctx.getContentResolver().delete(ContentUris.withAppendedId(albumArtUri, 24), null, null); 
ctx.getContentResolver().delete(ContentUris.withAppendedId(albumArtUri, 30), null, null); 
ctx.getContentResolver().delete(ContentUris.withAppendedId(albumArtUri, 14), null, null); 
ctx.getContentResolver().delete(ContentUris.withAppendedId(albumArtUri, 31), null, null); 
ctx.getContentResolver().delete(ContentUris.withAppendedId(albumArtUri, 28), null, null); 
ctx.getContentResolver().delete(ContentUris.withAppendedId(albumArtUri, 23), null, null); 
ctx.getContentResolver().delete(ContentUris.withAppendedId(albumArtUri, 17), null, null); 
ctx.getContentResolver().delete(ContentUris.withAppendedId(albumArtUri, 16), null, null); 
ctx.getContentResolver().delete(ContentUris.withAppendedId(albumArtUri, 13), null, null); 

En second lieu, re-insérer les lignes

ContentValues insertionValues = new ContentValues(); 

insertionValues.put("_data", "Dummy path"); 
insertionValues.put("album_id", 16); 
ctx.getContentResolver().insert(albumArtUri, insertionValues); 

insertionValues.put("_data", "Dummy path"); 
insertionValues.put("album_id", 25); 
ctx.getContentResolver().insert(albumArtUri, insertionValues); 

insertionValues.put("_data", "Dummy path"); 
insertionValues.put("album_id", 24); 
ctx.getContentResolver().insert(albumArtUri, insertionValues); 

insertionValues.put("_data", "Dummy path"); 
insertionValues.put("album_id", 30); 
ctx.getContentResolver().insert(albumArtUri, insertionValues); 

insertionValues.put("_data", "Dummy path"); 
insertionValues.put("album_id", 14); 
ctx.getContentResolver().insert(albumArtUri, insertionValues); 

insertionValues.put("_data", "Dummy path"); 
insertionValues.put("album_id", 31); 
ctx.getContentResolver().insert(albumArtUri, insertionValues); 

insertionValues.put("_data", "Dummy path"); 
insertionValues.put("album_id", 28); 
ctx.getContentResolver().insert(albumArtUri, insertionValues); 

insertionValues.put("_data", "Dummy path"); 
insertionValues.put("album_id", 23); 
ctx.getContentResolver().insert(albumArtUri, insertionValues); 

insertionValues.put("_data", "Dummy path"); 
insertionValues.put("album_id", 17); 
ctx.getContentResolver().insert(albumArtUri, insertionValues); 

insertionValues.put("album_id", 16); 
insertionValues.put("_data", "Dummy path"); 
ctx.getContentResolver().insert(albumArtUri, insertionValues); 

insertionValues.put("album_id", 13); 
insertionValues.put("_data", "Dummy path"); 
ctx.getContentResolver().insert(albumArtUri, insertionValues); 

Si vous imprimez les résultats

dumpCursorByAlbumId("16"); 
dumpCursorByAlbumId("25"); 
dumpCursorByAlbumId("24"); 
dumpCursorByAlbumId("30"); 
dumpCursorByAlbumId("14"); 
dumpCursorByAlbumId("31"); 
dumpCursorByAlbumId("28"); 
dumpCursorByAlbumId("23"); 
dumpCursorByAlbumId("17"); 
dumpCursorByAlbumId("16"); 
dumpCursorByAlbumId("13"); 

Vous verrez que tout ce que vous avez fait était de mettre à jour les cellules individuelles!

0 { 
    _id=16 
    album_art=Dummy path 
    artist=Keith Jarrett & Charlie Haden 
    artist=Keith Jarrett & Charlie Haden 
    numsongs=9 
    album_key= ? ) M O  /) C - 1 1611567005 
} 
<<<<< 
>>>>> Dumping cursor [email protected] 
0 { 
    _id=25 
    album_art=Dummy path 
    artist=John Coltrane 
    artist=John Coltrane 
    numsongs=4 
    album_key= ? E S 1  M Q G K 1 A 1  S 1 K S 1  K 1 9 M M Q 1 596735119 
} 
<<<<< 
>>>>> Dumping cursor [email protected] 
0 { 
    _id=24 
    album_art=Dummy path 
    artist=Charlie Parker 
    artist=Charlie Parker 
    numsongs=50 
    album_key= 1 M M 1 C - 1  E 3  - 7 ) K ? 9 1  G ) K = 1 K 1076433605 
} 
<<<<< 
>>>>> Dumping cursor [email protected] 
0 { 
    _id=30 
    album_art=Dummy path 
    artist=Bill Evans Trio 
    artist=Bill Evans Trio 
    numsongs=10 
    album_key= M Q C /) Y  ) O  O 7 1  S 9 ? ? ) 5 1  S ) C 5 Q ) K / -379248890 
} 
<<<<< 
>>>>> Dumping cursor [email protected] 
0 { 
    _id=14 
    album_art=Dummy path 
    artist=Lester Young, Teddy Wilson Quartet 
    artist=Lester Young, Teddy Wilson Quartet 
    numsongs=7 
    album_key= G K 1 M  ) C /  O 1 // Y 1537972582 
} 
<<<<< 
>>>>> Dumping cursor [email protected] 
0 { 
    _id=31 
    album_art=Dummy path 
    artist=Ahmad Jamal 
    artist=Ahmad Jamal 
    numsongs=8 
    album_key= 1 M M 1 C - 1  E 3  ) 7 A ) /  ; ) A ) ?  G O   -196083261 
} 
<<<<< 
>>>>> Dumping cursor [email protected] 
0 { 
    _id=28 
    album_art=Dummy path 
    artist=Bill Evans Trio 
    artist=Bill Evans Trio 
    numsongs=10 
    album_key= 1 W G ? E K ) O 9 E C M 1375882484 
} 
<<<<< 
>>>>> Dumping cursor [email protected] 
0 { 
    _id=23 
    album_art=Dummy path 
    artist=Sonny Rollins 
    artist=Sonny Rollins 
    numsongs=5 
    album_key= M ) W E G 7 E C 1  - E ? E M M Q M 248432292 
} 
<<<<< 
>>>>> Dumping cursor [email protected] 
0 { 
    _id=17 
    album_art=Dummy path 
    artist=Wayne Shorter 
    artist=Wayne Shorter 
    numsongs=7 
    album_key= M G 1 ) =  C E  1 S 9 ? 1951230391 
} 
<<<<< 
>>>>> Dumping cursor [email protected] 
0 { 
    _id=16 
    album_art=Dummy path 
    artist=Keith Jarrett & Charlie Haden 
    artist=Keith Jarrett & Charlie Haden 
    numsongs=9 
    album_key= ? ) M O  /) C - 1 1611567005 
} 
<<<<< 
>>>>> Dumping cursor [email protected] 
0 { 
    _id=13 
    album_art=Dummy path 
    artist=Bill Evans & Shelly Manne 
    artist=Bill Evans & Shelly Manne 
    numsongs=6 
    album_key= 1 A G ) O 7 Y 1349167640 
} 

dumpCursorByAlbumId classe

public void dumpCursorByAlbumId(String id){ 
    String[] stringArray = {id}; 
    final Cursor mCursor = ctx.getContentResolver().query(
      MediaStore.Audio.Albums.EXTERNAL_CONTENT_URI, // Uri 
      new String[]{         // String[] projection (columns) 
        MediaStore.Audio.Albums._ID, 
        MediaStore.Audio.Albums.ALBUM_ART, 
        MediaStore.Audio.Albums.ARTIST, 
        MediaStore.Audio.Albums.ARTIST, 
        MediaStore.Audio.Albums.NUMBER_OF_SONGS, 
        MediaStore.Audio.Albums.ALBUM_KEY 
      }, 
      MediaStore.Audio.Albums._ID + "=?",   // String selection 
      stringArray,         // String[] selectionArgs 
      null           // sortOrder 
    ); 

    if (mCursor.moveToFirst()) { 

     // dump each row in the cursor 
     // for(int i=0; i < stringArray.length; i++){ 
     DatabaseUtils.dumpCursor(mCursor); 
     // mCursor.moveToNext(); 
     //} 

     mCursor.close(); 

    } 
    else { 
     mCursor.close(); 
    } 
}