2010-12-03 5 views
4

J'ai parfois un problème lors du réglage des sons comme sonneries/notifications à l'intérieur d'une activité:ContentResolver.insert retourne null

ContentValues values = new ContentValues(); 
values.put(MediaStore.MediaColumns.DATA, source); 
values.put(MediaStore.MediaColumns.TITLE, "abc"); 
values.put(MediaStore.MediaColumns.SIZE, new File(source).length()); 
values.put(MediaStore.MediaColumns.MIME_TYPE, mime); 
values.put(MediaStore.Audio.Media.ARTIST, "xyz"); 
values.put(MediaStore.Audio.Media.IS_RINGTONE, true); 
values.put(MediaStore.Audio.Media.IS_NOTIFICATION, true); 

final Uri curi = MediaStore.Audio.Media.getContentUriForPath(source); 
Uri uri = getContentResolver().insert(curi, values); 

plus uri temps est quelque chose comme « contenu: // médias/externe/audio/médias/23 ", mais parfois c'est nul. Je ne sais pas où se situe le problème, les fichiers audio sont corrects (ils fonctionnent bien) et évidemment la méthode insert ne génère aucune exception. J'ai parcouru la documentation mais il n'y a rien à propos de la méthode retournant null. Quel pourrait être le problème?

Répondre

5

Les fournisseurs de contenu ne prennent pas encore en charge les exceptions distantes. Je regarderais dans logcat quand vous obtenez l'Uri nul retourné. Je soupçonne que le fournisseur de médias lancera une sorte d'exception.

0

23, 24 devrait être le volume haut et bas pour le média. Uri devrait être le même.

+0

J'ai eu l'impression que la fonction d'insertion renvoie un uri unique pour chaque sonnerie différente que vous ajoutez? – Froghut

Questions connexes