Impossible de déplacer quelques applications sur la carte SD

9

J'ai des applications telles que Any.DO et AK Notepad installées sur mon téléphone Samsung Galaxy Y Android 2.3.6. J'ai essayé Titanium Backup et App 2 SD (déplacer l'application vers SD) mais je ne parviens toujours pas à déplacer ces applications sur la carte SD. Qu'est-ce qui ne va pas? Quelqu'un peut-il m'aider ici?

Izzy
la source
1
Que se passe-t-il si vous essayez de déplacer les applications vers SD?
Flow
1
@Flow voir ma réponse. Les deux applications ont des widgets intégrés, donc elles ne prennent probablement pas en charge App2SD.
Izzy
Si vous souhaitez déplacer votre application sur une carte SD en raison d'un «stockage interne faible», consultez android.stackexchange.com/questions/30620/…
Sylvain Huard

Réponses:

7

Une application doit explicitement prendre en charge App2SD, sinon vous ne pouvez pas la déplacer vers la carte. Il existe plusieurs raisons pour lesquelles une application peut ne pas la prendre en charge:

  • en utilisant des widgets (les deux applications mentionnées semblent tomber dans cette catégorie. Bloc-notes AK: "Épinglez des notes sur votre écran d'accueil"; Any.DO: "Vous pouvez même ajouter notre widget à votre écran d'accueil")
  • exécuter un service

Comme la carte SD serait inaccessible lors de la connexion à un ordinateur, les deux choses "planteraient" (car ils ne pouvaient plus accéder à leurs données, etc.). Bien sûr, il y a toujours la possibilité que le développeur s'en moque - dans ce cas, vous devez le contacter et lui demander.

Izzy
la source
J'ai rencontré un cas intéressant - une application, f-droid.org/repository/browse/?fdid=com.nanoconverter.zlab qui a un défaut - elle offre un service d'arrière-plan et un widget, mais mon 4.2.2 peut le déplacer vers Carte SD (perdre cette fonctionnalité, ofc).
Conseil gratuit du
3

Certains facteurs peuvent affecter cela:

  1. Une application doit déclarer explicitement qu'il est préférable / possible d'être installé sur la carte SD.

    À partir de l'API niveau 8, vous pouvez autoriser l'installation de votre application sur le stockage externe (par exemple, la carte SD de l'appareil). Il s'agit d'une fonctionnalité facultative que vous pouvez déclarer pour votre application avec l' android:installLocationattribut manifeste. Si vous ne déclarez pas cet attribut, votre application sera installée uniquement sur le stockage interne et ne pourra pas être déplacée vers le stockage externe .

    (Souligner le mien)

  2. Une application est configurée pour être compilée à l'aide de l'API 7 (Froyo) ou inférieure, qui ne prend pas en charge l'installation d'une application sur la carte SD (même si elle est installée sur GingerBread ou sur des appareils plus récents)

    La possibilité pour votre application de s'installer sur le stockage externe est une fonctionnalité disponible uniquement sur les appareils exécutant l'API niveau 8 (Android 2.2) ou supérieur. Les applications existantes qui ont été construites avant l'API niveau 8 seront toujours installées sur le stockage interne et ne peuvent pas être déplacées vers le stockage externe (même sur les appareils avec l'API niveau 8) . Cependant, si votre application est conçue pour prendre en charge un niveau d'API inférieur à 8, vous pouvez choisir de prendre en charge cette fonctionnalité pour les appareils avec un niveau d'API 8 ou supérieur et toujours être compatible avec les appareils utilisant un niveau d'API inférieur à 8.

    (Souligner le mien)

Les raisons pour lesquelles certaines applications ne sont pas préférables à installer sur la carte SD sont les suivantes:

Lorsque l'utilisateur active le stockage de masse USB pour partager des fichiers avec son ordinateur (ou démonte ou supprime le stockage externe), toute application installée sur le stockage externe et en cours d'exécution est supprimée. Le système ne connaît effectivement plus l'application jusqu'à ce que le stockage de masse soit désactivé et que le stockage externe soit remonté sur l'appareil. En plus de tuer l'application et de la rendre inaccessible à l'utilisateur, cela peut casser certains types d'applications de manière plus grave. Pour que votre application se comporte de manière cohérente comme prévu, vous ne devez pas autoriser l'installation de votre application sur le stockage externe si elle utilise l'une des fonctionnalités suivantes, en raison des conséquences citées lorsque le stockage externe est démonté:

  • Prestations de service

    Votre course Servicesera tuée et ne sera pas redémarrée lorsque le stockage externe sera remonté. [...]

  • Services d'alarme

    Vos alarmes enregistrées avec AlarmManagerseront annulées. [...]

  • Moteurs de méthode d'entrée

    Votre IME sera remplacé par l'IME par défaut. [...]

  • Fonds d'écran en direct

    Votre Live Wallpaper en cours d'exécution sera remplacé par le Live Wallpaper par défaut. [...]

  • Widgets d'application

    Votre widget d'application sera supprimé de l'écran d'accueil. Lorsque le stockage externe est remonté, votre widget d'application ne sera pas disponible pour que l'utilisateur puisse le sélectionner jusqu'à ce que le système réinitialise l'application domestique (généralement pas jusqu'à un redémarrage du système).

  • Gestionnaires de compte

    Vos comptes créés avec AccountManagerdisparaîtront jusqu'à ce que le stockage externe soit remonté.

  • Adaptateurs de synchronisation

    Votre AbstractThreadedSyncAdapteret toutes ses fonctionnalités de synchronisation ne fonctionneront pas jusqu'à ce que le stockage externe soit remonté.

  • Les administrateurs de périphérique

    Votre DeviceAdminReceiveret toutes ses capacités d'administration seront désactivées, ce qui peut avoir des conséquences imprévisibles sur la fonctionnalité de l'appareil, qui peuvent persister après le remontage du stockage externe.

  • Récepteurs de diffusion écoutant "démarrage terminé"

    Le système délivre la ACTION_BOOT_COMPLETEDdiffusion avant que le stockage externe ne soit monté sur l'appareil. Si votre application est installée sur le stockage externe, elle ne pourra jamais recevoir cette diffusion.

Si votre application utilise l'une des fonctionnalités répertoriées ci-dessus, vous ne devez pas autoriser l'installation de votre application sur un stockage externe.

(Certaines parties sont caviardées. Elles expliquent ce que les développeurs doivent faire pour que leurs applications fonctionnent correctement après le remontage de la carte SD.)

Remarque : cette réponse sert d'informations générales sur "Pourquoi certaines applications ne peuvent pas être déplacées vers la carte SD"

Source: Développeurs Android: Emplacement d'installation de l'application .

Andrew T.
la source
1

Il est certainement possible de déplacer des applications sur la carte SD tout en les faisant fonctionner parfaitement (widgets et services inclus) via Link2SD.

EDIT: L'utilisation de cette méthode nécessite un accès root sur votre téléphone et nécessite également que votre carte SD soit formatée pour avoir une deuxième partition dessus.

Afin d'éviter de publier à nouveau la réponse de manière redondante ici, je vais simplement déposer un lien vers celle-ci: https://android.stackexchange.com/a/145591/167026

Divulgué
la source