13 votes

Comment rafraîchir/rescanner la mémoire SD sous Android 4.4 KitKat ?

J'ai reçu la mise à jour officielle OTA KitKat pour mon Nexus 4 la semaine dernière et depuis, je ne parviens pas à rescanner la carte SD. J'ai essayé un certain nombre d'applications différentes pour cette tâche mais toutes se plantent à l'ouverture. Un peu de recherche montre une poignée d'utilisateurs avec le même problème.

Voici les applications que j'ai essayées :

  • Rescan Media ( Aditya Talpade )
  • Rescanner la carte SD ! ( sTOOPIDfiG )
  • Rescan de la carte média SD ( RADEFFFACTORY )
  • SDrescan ( Benjamin Rosseaux ) mon vieux standby sur Jelly Bean

Chaque application se bloque au lancement. Quelqu'un a-t-il pu rafraîchir sa mémoire SD sous KitKat ?

13voto

Jeremy Erickson Points 146

Cela ne fonctionnera pas pour détecter les fichiers supprimés, mais je viens de mettre en place une application sur le Play Store qui fonctionnera sur les fichiers nouveaux et mis à jour : https://play.google.com/store/apps/details?id=com.gmail.jerickson314.sdscanner

Elle utilise une solution de contournement inspirée de la réponse de Dan Hulme : en utilisant l'API qui ne concerne qu'un fichier spécifique, mais en générant manuellement une liste récursive de fichiers sur la carte. Cela ne nécessite que la permission de lecture sur la carte SD, pas Root, et a l'effet secondaire agréable de permettre un indicateur de progression fiable.

6voto

Andy Brudtkuhl Points 1714

Vous ne pouvez plus utiliser d'applications de ce genre. Parce que beaucoup d'applications ont abusé de la MEDIA_MOUNTED de diffuser une intention de provoquer une nouvelle analyse de l'ensemble du système de fichiers (épuisant la batterie) alors qu'elles n'ont modifié qu'un seul fichier, KitKat impose une nouvelle restriction selon laquelle seules les applications système peuvent diffuser cette intention. Les applications qui tentent de le faire recevront un SecurityException qui, par défaut, provoque la boîte de dialogue "... s'est arrêté".

Il existe un mécanisme alternatif permettant à une application de dire qu'elle a modifié un fichier particulier, et de provoquer une nouvelle analyse de ce fichier (pas de manière récursive), mais (a) il n'existe pas de mécanisme de remplacement permettant d'analyser tout un système de fichiers, car cela serait abusé de la même manière ; et (b) c'est à l'application de l'appeler. Ce n'est pas quelque chose que vous pouvez changer en tant qu'utilisateur.

Une application qui utilise Racine serait capable de faire fonctionner ceci de la même manière que la 4.3 et les précédentes, mais encore une fois, il faudrait l'écrire spécifiquement pour demander le Root. Le Root de l'appareil ne fera pas fonctionner vos anciennes applications à nouveau.

Pour plus de détails techniques, voir Comment déclencher MediaScan sur le Nexus 7 ? sur Stack Overflow, notre site frère pour les questions de programmation.

3voto

Jared Burrows Points 271

C'est une très bonne question et je vois qu'il y a déjà été répondu. J'ai écrit une petite application pour résoudre ce problème spécifiquement pour Kit Kit(Android 4.4+). Mon application fonctionne sur tous les téléphones.

Ici :

https://play.google.com/store/apps/details?id=burrows.apps.sdcard

Cela fonctionne sur le Nexus 5 !

Faites-moi savoir si cela vous aide !

Avis de non-responsabilité : J'ai écrit cette application.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X