Android - .la nomédie ne fonctionne pas pour les images
J'ai des images, qui sont lus à partir de sdcard seulement par application particulière donc je veux le cacher de la galerie d'image. J'ai mis .la nomédie fichier, mais ce fichier est ignoré, les images sont toujours à l'affiche dans la Galerie. Je l'ai mis avec des "." au début. Toujours pas de travail. Des idées?
- Je ne sais pas si cela fonctionne réellement (car je ne sais pas si Android recherche dans les données ou tout simplement l'extension du fichier), mais avez-vous essayé de changer l'extension de fichier de quelque chose qui est tout à fait votre propre? Puisque vous savez ce que les fichiers sont vous pouvez charger vous-même, mais Android peut les ignorer?
- simplement en enlevant l'extension devrait faire du bien.
- Vous pouvez poster votre code pour la création de l' .la nomédie fichier afin que nous puissions vérifier que c'est correct? Sinon, l'utilisation de Dr Dredel la recommandation devrait fonctionner. Sinon, je dirais de regarder cette autre réponse, stackoverflow.com/questions/2733576/android-file-creation-fails et assurez-vous d'avoir l'autorisation correcte.
- quel appareil vous de tester ce sur? Je n'ai pas eu de problème avec .la nomédie fichier avant. Êtes-vous sûr que le fichier est nommé correctement. Comment êtes-vous d'ajouter ce fichier?
Vous devez vous connecter pour publier un commentaire.
Je devine que vous utilisez Android 4.0, comme
.nomedia
a bien fonctionné jusqu'alors. L'AFST rapport de bug pour le problème explique:MediaScanner
sur Android 4.0 ne parvient pas à oublier déjà fichiers indexés lorsqu'il rencontre un.nomedia
fichier, mais il ne honorer si il est présent sur la première passe. Donc la solution est de simplement renommer le répertoire. Bien sûr, vous pouvez modifier le nom du nouveau après l'analyse suivante, si vous le souhaitez.Mise à jour: je suppose que la solution serait effectivement de la force de l'analyse des médias après avoir renommé le répertoire. Je n'ai pas essayé, mais quelque chose comme cela devrait faire l'affaire:
Bien... j'avoue que je ne fais que deviner, mais, depuis, c'est devenu un +1 dans le commentaire, je vais lui donner un tourbillon comme une réponse. Puisque c'est votre propre application, de modifier l'image du fichier de l'extension à quelque chose de totalement unique ".myimagefile" par exemple, et de voir si il la cache à partir d'Android. En attendant, vous savez quels sont les fichiers à charger dans votre propre application, et comment les sauver.
MediaScanner
n'utiliser les extensions de fichier pour déterminer le type de fichier, donc renommer chaque fichier de travail, mais simplement de renommer le répertoire (après l'ajout de.nomedia
) est beaucoup plus simple.L' .la nomédie bug est à droite et vous POUVEZ l'ajouter à une affection préexistante de dossier de l'image.
Vous pouvez forcer la galerie de re-index une fois que vous avez créé .la nomédie fichier en le renommant le dossier, exécutez la galerie (le "dossier caché devriez maintenant être en manque), et renommez le dossier en revenir à ce que vous voulez. Il devrait rester caché.
Je viens de le faire à nouveau pour s'assurer qu'il fonctionne sur mon téléphone. Android 4.0.4.
Voici quelque chose que j'ai trouvé moi-même:
http://www.transformerforums.com/forum/asus-transformer-faq/17765-solved-nomedia-doesnt-work-under-honeycomb-ics.html
Cependant, un peu de modification à cette méthode:
SDCard doivent être réanalysés et tous les répertoires contenant .la nomédie fichiers devraient être ignoré à ce point.
La
.nomedia
fichier est préventif, et non curative (Android 4.0), et c'est un bug.Si vous avez eu une
.nomedia
fichier et les images sont déjà à l'intérieur, la Galerie de toujours rechercher des images.Vous avez besoin pour créer votre
.nomedia
fichier avant puting des images.Modifier: tous les dossiers commençant par un point ne sont pas analysés (car caché).
Avec les Médias de Stockage 4.1.1 sur mon Samsung Galaxy Note 2, aucun des astuces donnés ci-dessus fonctionne parfaitement, en ce sens: les répertoires contenant .la nomédie fichiers sont toujours analysés, ce qui permet de drainer la batterie beaucoup (même si le résultat est ignoré dans la galerie), et aussi des répertoires avec des noms commençant par un '.' sont toujours analysés 🙁
J'ai eu recours à l'aide de la "Media Scanner Racine" de l'app, qui permet de désactiver la merde d'analyse des médias tout à fait. C'est apparemment atteint par quelque chose comme
BTW, la désactivation de congélation/les Médias de Stockage de l'application elle-même a le mauvais effet que la sélection et la liaison de sonneries et les notifications ne fonctionnent plus du tout (ce qui est une conception merveilleuse), mais lorsque seule la désactivation de son scanner composant, on peut encore utiliser, par exemple, l'ES Explorateur de Fichier pour sélectionner ton.
Galerie n'est pas souvent mis à jour et certaines vignettes sont toujours sur le point de vue. Pour ce u besoin de redémarrer le téléphone ou par programmation de la mise à jour de la galerie, par le code suivant.
Dans ma carte mémoire j'ai des milliers de photos qui dépassent les médias-scanner. Puis dans le dossier racine de ma carte mémoire, renommé depuis "RootFolder" pour ".RootFolder"
Est devenu le répertoire caché et ne pas utiliser plus .la nomédie
De l'essayer.
Vous pourriez envisager d'utiliser l'APK Zip d'Expansion de la Bibliothèque (nécessite l'API de niveau 5 ou plus) pour lire les fichiers que vous avez installé sur la carte SD dans le cadre d'une archive Zip. Une description de cette bibliothèque peuvent être trouvés ici:
http://developer.android.com/guide/market/expansion-files.html#ZipLib
Sans doute, les fichiers stockés dans une archive ZIP sur votre carte SD ne sera pas affiché par la Galerie.
En outre, si vous avez des images que votre application lit (mais elle n'a pas écrire à) la carte SD, et qui ne devrait être disponible à votre propre application, et qui pourraient être prononcées lorsque votre application est installé ou mis à jour, alors il peut faire sens pour profiter d'un nouveau Google Play facilité à les intégrer comme partie de votre application lorsqu'il est installé.
Je devine que vous êtes le stockage de vos images sur la carte SD, car ils sont trop volumineux pour tenir dans votre fichier APK (compte tenu de sa limite de taille de 50 mo, ce qui est encore plus petit que celui dans la pratique, pour certains appareils, en raison de problèmes de mise en mémoire tampon).
Si oui, alors vous pourriez envisager que Google Play, de 3/5/2012, prend en charge la connexion (à votre application) de deux "extension des fichiers jusqu'à 2 go chacune. L'APK a encore 50 MO maximum, mais l'expansion des fichiers augmenter la capacité totale de stockage à la disposition de plus de 4 GO. Ceux extension des fichiers sont servis pour vous par Google, et ils sont conservés dans un dossier de la carte SD qui est spécifique à votre application, et peut être consulté à l'aide d'une API fournie par le Downloader de la Bibliothèque (nécessite l'API de niveau 5 ou au-dessus).
Voici l'annonce de Google de ce changement:
http://android-developers.blogspot.in/2012/03/android-apps-break-50mb-barrier.html
Et voici une description détaillée de l'installation:
http://developer.android.com/guide/market/expansion-files.html
Notez que bien que cette installation est nouvelle, les bibliothèques ont été fournis avec le SDK Android pour une utilisation avec les anciennes API niveaux. Par exemple, sur mon installation, j'ai trouver de l'API-8 versions ici:
Que même dossier comprend les précitée APK Zip d'expansion de la bibliothèque dans son zip_file sous-dossier.
Je n'ai pas personnellement utilisé cette facilité encore moi-même, et donc suis à décrire cette base uniquement sur les références citées.