2014-01-24 4 views
5

Ich habe festgestellt, wie Sie das Deinstallationsereignis erkennen und den folgenden Code testen.Wie kann ich etwas tun, bevor ich meine Android App deinstalliere?

In Receiver.java:

@Override 
public void onReceive(Context context, Intent intent) { 
    String action = intent.getAction(); 
    Log.d(TAG, "received broadcast : " + action); 
} 

In manifest.xml:

<receiver android:name="....base.BaseAppReceiver"> 
      <intent-filter> 
       <action android:name="android.intent.action.PACKAGE_REMOVED"/> 
       <data android:scheme="package"/> 
      </intent-filter> 
     </receiver> 

Aber es erkannt, wenn nur andere App deinstalliert wurde. Ich möchte etwas vor der Deinstallation "meiner" App nicht "andere" App. Bitte lassen Sie mich wissen, wie meine App das Deinstallationsereignis für die Verarbeitung von etwas erkennen kann, bevor sie meine App deinstalliert, falls dies möglich ist.

+0

Können Sie Ihr Problem anders formulieren? – Espanta

Antwort

3

Dies ist nicht möglich, sorry. Wenn Sie Ihre Dateien in den richtigen Verzeichnissen ablegen, werden sie automatisch gelöscht, aber bei der Deinstallation Ihrer App können keine anderen Aufgaben ausgeführt werden.

+0

Vielen Dank ... ich muss die Struktur meiner App ändern .. – nao0811ta

+0

Ich möchte gespeicherte Daten mit Deinstallation löschen. Wo ist das richtige Verzeichnis? – nao0811ta

+2

@ nao0811ta: Alles auf dem internen Speicher ('getFilesDir()', 'getCacheDir()', Ihre Standard-SQLite-Datenbank und 'SharedPreference' -Orte,' openFileOutput() 'usw.) werden bei einer Deinstallation gelöscht. Außerdem werden Dateien, die in 'getExternalFilesDir()' und 'getExternalCacheDir()' gespeichert sind, bei einer Deinstallation gelöscht. – CommonsWare

1

Sie können Ihre eigene Deinstallationsereignis nicht hören. Denken Sie nur daran Sie versuchen, jede Klasse aufzurufen, die deinstalliert wird, wie könnte es möglich sein?

Wenn Sie implementieren möchten, dann müssen Sie eine weitere Anwendung WatchDog genannt machen die Pflege für Ihre Anwendung übernehmen, wenn es deinstalliert wird ..

Hoffe, es wird Ihnen helfen .. !!!

Verwandte Themen