6 votes

Que se passe-t-il lorsqu'une carte SD est insérée ?

J'ai une Sony Tablet S enracinée, et l'un de mes problèmes avec elle est qu'il y a peu de stockage à bord. La méthode recommandée par Sony pour résoudre ce problème consiste à transférer des fichiers entre le stockage interne et externe, car de nombreuses applications n'ont pas accès au stockage externe.

Cependant, ayant enraciné l'appareil, je suis en mesure d'utiliser mount -o bind /mnt/sdcard2 /mnt/sdcard/2 pour monter ça. J'avais alors l'intention de renommer le dossier media de ma carte SD externe en .media, et d'utiliser la fonction mount -o bind /mnt/sdcard2/.media/$F /mnt/sdcard/media/$F/external pour chaque dossier $F dans ce répertoire. Le problème est que lors du retrait de la carte SD externe, ou lors d'un redémarrage, ces montages sont perdus.

Sur mon téléphone Maemo, j'ai fait quelque chose de similaire, et j'ai réussi à obtenir ce comportement de montage lorsque le stockage externe était attaché. Comme Maemo5 est un système d'exploitation véritablement ouvert, j'ai pu le faire assez facilement, et la communauté m'a beaucoup aidé.

En essayant de faire la même chose sous Android, je suis tombé sur une application appelée Tasker qui effectue les actions dont j'ai besoin, mais il s'agit d'un logiciel payant et je préférerais ne pas avoir à installer quelque chose qui effectue des actions qui devraient être intégrées au système d'exploitation.

TLDR ;

J'aimerais savoir ce qui se passe réellement sur mon appareil lorsqu'une carte SD est insérée - des scripts sont-ils exécutés ? Des signaux sont-ils envoyés qui pourraient être utilisés pour déclencher des scripts ? Est-ce que quelqu'un a essayé de faire quelque chose de similaire (je ne comprends pas pourquoi ce ne serait pas le comportement par défaut pour être honnête - le fait que le stockage externe soit caché des applications est pour le moins frustrant).

1voto

Milner Points 533

Si votre intention est de faire en sorte que votre script s'exécute à chaque fois que la carte est insérée ou que l'appareil est démarré, je vous recommande l'application déjà mentionnée. Tasker peut-être en relation avec Scripteur . Ce dernier peut être utilisé pour exécuter (et gérer ?) des scripts, mais AFAIR vous pouvez faire cette partie avec tasker aussi bien.

Vous devrez créer une tâche (exécuter votre script), et deux profils utilisant cette tâche (car il n'y a pas de possibilité de OU logique avec les conditions). L'un est pour l'événement boot_completed, l'autre est pour la carte SD insérée. Cela devrait suffire.

En cas de problème (ou de difficulté de compréhension), il suffit de commenter et je verrai ce que je peux faire :)

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