Impossibile spostare alcune app sulla scheda SD


9

Ho app come Any.DO e AK Notepad installate nel mio telefono Samsung Galaxy Y Android 2.3.6. Ho provato Titanium Backup e App 2 SD (sposta l'app su SD) ma non riesco ancora a spostare queste app sulla scheda SD. Cosa c'è che non va? Qualcuno può aiutarmi qui?


1
Cosa succede se provi a spostare le app su SD?
Flusso

1
@Flow vedi la mia risposta. Entrambe le app hanno widget integrati, quindi molto probabilmente non supportano App2SD.
Izzy

Se vuoi spostare la tua app sulla scheda SD a causa della "memoria interna ridotta", vai su android.stackexchange.com/questions/30620/…
Sylvain Huard,

Risposte:


7

Un'app deve supportare esplicitamente App2SD, altrimenti non è possibile spostarla sulla scheda. Esistono diversi motivi per cui un'app potrebbe non supportarla:

  • utilizzando i widget (entrambe le app menzionate sembrano rientrare in questa categoria. Blocco note AK: "Appunta le note nella schermata iniziale"; Any.DO: "Puoi persino aggiungere il nostro widget alla schermata iniziale")
  • eseguire un servizio

Poiché la sdcard sarebbe inaccessibile quando ci si connette a un computer, entrambe le cose si "arresterebbero" (poiché non potevano più accedere ai propri dati ecc.). Ovviamente c'è sempre la possibilità che lo sviluppatore semplicemente non se ne occupi - nel qual caso dovresti contattarlo e chiedere.


Ho riscontrato un caso interessante: un'app, f-droid.org/repository/browse/?fdid=com.nanoconverter.zlab che presenta un difetto: offre servizi e widget in background, ma il mio 4.2.2 può spostarlo su Scheda SD (perdendo quella funzionalità, spesso).
Consulenza gratuita il

3

Ci sono alcuni fattori che possono influenzare questo:

  1. Un'app deve dichiarare esplicitamente che è preferibile / possibile essere installato sulla scheda SD.

    A partire dal livello API 8, è possibile consentire l'installazione dell'applicazione sull'archiviazione esterna (ad esempio, la scheda SD del dispositivo). Questa è una funzione opzionale che puoi dichiarare per la tua applicazione con l' android:installLocationattributo manifest. Se non si dichiara questo attributo, l'applicazione verrà installata solo nella memoria interna e non può essere spostata nella memoria esterna .

    (Enfasi mia)

  2. Un'app è impostata per essere compilata utilizzando API 7 (Froyo) o precedente, che non supporta l'installazione di un'app sulla scheda SD (anche se è installata su GingerBread o dispositivi più recenti)

    La possibilità di installare l'applicazione sulla memoria esterna è una funzione disponibile solo su dispositivi con API Level 8 (Android 2.2) o superiore. Le applicazioni esistenti create prima dell'API Level 8 verranno sempre installate nella memoria interna e non possono essere spostate nella memoria esterna (anche su dispositivi con API Livello 8) . Tuttavia, se l'applicazione è progettata per supportare un livello API inferiore a 8, è possibile scegliere di supportare questa funzione per dispositivi con livello API 8 o superiore ed essere comunque compatibile con i dispositivi che utilizzano un livello API inferiore a 8.

    (Enfasi mia)

I motivi per cui alcune app non sono preferibili da installare sulla scheda SD sono le seguenti:

Quando l'utente abilita l'archiviazione di massa USB per condividere file con il proprio computer (o smonta o rimuove in altro modo l'archiviazione esterna), qualsiasi applicazione installata sull'archiviazione esterna e attualmente in esecuzione viene interrotta. Il sistema diventa effettivamente inconsapevole dell'applicazione fino a quando la memoria di massa non viene disabilitata e la memoria esterna viene rimontata sul dispositivo. Oltre a uccidere l'applicazione e renderla non disponibile per l'utente, questo può interrompere alcuni tipi di applicazioni in modo più serio. Affinché l'applicazione si comporti in modo coerente come previsto, non si dovrebbe consentire all'applicazione di essere installata sulla memoria esterna se utilizza una delle seguenti funzionalità, a causa delle conseguenze citate quando la memoria esterna è smontata:

  • Servizi

    La corsa Serviceverrà interrotta e non verrà riavviata quando verrà rimontata la memoria esterna. [...]

  • Servizi di allarme

    Gli allarmi registrati con AlarmManagerverranno annullati. [...]

  • Motori del metodo di input

    Il tuo IME verrà sostituito dall'IME predefinito. [...]

  • Sfondi animati

    Lo sfondo animato in esecuzione verrà sostituito dallo sfondo animato predefinito. [...]

  • Widget app

    Il widget dell'app verrà rimosso dalla schermata principale. Quando viene rimontata la memoria esterna, il Widget app non sarà disponibile per la selezione da parte dell'utente fino a quando il sistema non ripristina l'applicazione principale (di solito non fino al riavvio del sistema).

  • Responsabili dell'account

    Gli account creati con AccountManagerscompariranno fino a quando non verrà rimontata la memoria esterna.

  • Adattatori di sincronizzazione

    La tua AbstractThreadedSyncAdaptere tutte le sue funzionalità di sincronizzazione non funzioneranno fino a quando non verrà rimontata la memoria esterna.

  • Amministratori di dispositivo

    La tua DeviceAdminReceivere tutte le sue capacità di amministrazione saranno disabilitate, il che può avere conseguenze imprevedibili per la funzionalità del dispositivo, che può persistere dopo il rimontaggio della memoria esterna.

  • Ricevitori Broadcast in ascolto di "avvio completato"

    Il sistema consegna la ACTION_BOOT_COMPLETEDtrasmissione prima che la memoria esterna sia montata sul dispositivo. Se l'applicazione è installata sulla memoria esterna, non potrà mai ricevere questa trasmissione.

Se l'applicazione utilizza una delle funzionalità sopra elencate, non si dovrebbe consentire l'installazione dell'applicazione su memoria esterna.

(Alcune parti vengono ridotte. Stanno spiegando cosa devono fare gli sviluppatori per far funzionare correttamente le loro app dopo il rimontaggio della scheda SD.)

Nota : questa risposta funge da informazione generale per "Perché alcune app non possono essere spostate sulla scheda SD"

Fonte: sviluppatori Android: posizione di installazione dell'app .


1

È sicuramente possibile spostare le app sulla scheda SD e farle funzionare perfettamente (widget e servizi inclusi) tramite Link2SD.

MODIFICA: l'utilizzo di questo metodo richiede l'accesso come root sul telefono e richiede inoltre che la scheda SD sia formattata per avere una seconda partizione.

Per evitare di postare di nuovo in modo ridondante la risposta qui, lascerò semplicemente un link: https://android.stackexchange.com/a/145591/167026

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.