2010-12-01 18 views
3

Je suis en mesure de régler la sonnerie parfaitement, lors de l'insertion de la ligne dans Mediastore.Audio.MediaAndroid: Set Ringtone pour enregistrement existant dans Mediastore.Audio.Media

newUri = this.getContentResolver().insert(MediaStore.Audio.Media.getContentUriForPath(k.getAbsolutePath()), values); 

Mais pour un à-dire d'enregistrement existant au moment de suis en train d'essayer d'insérer la ligne à nouveau, logcat me montre l'erreur de contrainte de base de données 19. Alors, comment puis-je contourner cela? Fondamentalement, je dois définir un fichier .ogg de mon application de carte son comme une sonnerie, qui existe déjà dans la base de données mediastore ... Toute aide est appréciée ..

Répondre

3

Je l'ai compris. Supprimez l'enregistrement existant dans la base de données avant de l'insérer.

Uri uri = MediaStore.Audio.Media.getContentUriForPath(file.getAbsolutePath()); 
getContentResolver().delete(uri, MediaStore.MediaColumns.DATA + "=\"" + file.getAbsolutePath() + "\"", null); 

Espérons que ça vous aide aussi.