Autore Topic: Intercettare la disinstallazione  (Letto 514 volte)

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Intercettare la disinstallazione
« il: 03 Febbraio 2014, 21:05:01 CET »
0
ciao!
vorrei fare in modo che la mia app intercetti l'evento di uninstall in modo da poter cancellare i file creati nell'sdcard.
ho provato così:
Codice: [Seleziona]
public class Receiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context ctx, Intent intent) {
                JsonFile.delete(Const.LOCAL_PATH + Const.JSON_GPS);
        }

}
nel manifest:
Codice: [Seleziona]
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.mp.banca.ActivityLogin"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/app_name" >
        ........................................
        <receiver android:name="com.mp.banca.Receiver">
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_ADDED"></action>
                <action android:name="android.intent.action.PACKAGE_CHANGED"></action>
                <action android:name="android.intent.action.PACKAGE_REMOVED"></action>
            </intent-filter>
        </receiver>
    </application>
però quando reinstallo la app i file ci sono ancora, e quindi non penso che sia il modo giusto.
sapete se e come è possibile farlo??

Offline Reinhard

  • Utente junior
  • **
  • Post: 85
  • Respect: +16
    • Google+
    • rspisser
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5 Lollipop 5.1
  • Play Store ID:
    rspisser
  • Sistema operativo:
    Windows 7
Re:Intercettare la disinstallazione
« Risposta #1 il: 03 Febbraio 2014, 23:20:43 CET »
0
ciao,

perché non scrivi i file direttamente in un percorso dove è android che te li cancella direttamente?

se usi la primitiva getExternalFilesDir() per ottenere il nome della cartella dei dati dove posizionare i tuoi file:

Codice (Java): [Seleziona]
cartellafile=ctx.getExternalFilesDir("Android/data/<nomepackage>");
dove nomepackage è il package del tuo app, quando disinstalli la app, Android cancella automaticamente i file

Offline fermat

  • Utente junior
  • **
  • Post: 93
  • Respect: +1
    • Mostra profilo
    • Mattepuffo.com
Re:Intercettare la disinstallazione
« Risposta #2 il: 04 Febbraio 2014, 09:06:16 CET »
0
ciao!

preferisco scriverli sulla SD dove c'è di sicuro più spazio!
inoltre ormai ho tutti i file li, non mi andrebbe di riscrivere le varie parti e cambiare percorso!