Autore Topic: Pressione su tasto Back o chiusura da TaskManager -> operazione X... COME FARE?  (Letto 578 volte)

Offline OmarLuigi

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Tab
  • Sistema operativo:
    Windows 7
Il mio programma ha molte Activity. Tramite il programma l'utente può scattare delle foto, che verranno salvate in una cartella locale.

Vorrei che la cartella e tutte le foto al suo interno fossero cancellate...
- Quando, tramite la pressione del tasto back, passo dalla seconda alla prima activity (che nel programma corrisponde ad un'operazione di Logout),
- Quando l'utente chiude il programma da Task Manager

Non riesco però a scrivere un codice che capisca quando è il momento di cancellare queste foto.
Nel primo caso, ho provato così:

Codice (Java): [Seleziona]
    protected void onStop(Bundle savedInstanceState)
    {   super.onStop();
        CancellaDirectory (new File(Environment.getExternalStorageDirectory() + "/" + TicketID));
    }

Ma, debuggando, non si entra mai nell'onStop!  o_O

Cosa sbaglio?
Come posso fare?

Ringrazio in anticipo tutti  :-)



Offline OmarLuigi

  • Nuovo arrivato
  • *
  • Post: 20
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Tab
  • Sistema operativo:
    Windows 7
0
- Quando, tramite la pressione del tasto back, passo dalla seconda alla prima activity (che nel programma corrisponde ad un'operazione di Logout),

L'ho "risolto" così:
Codice (Java): [Seleziona]
    public boolean onKeyDown(int keyCode, KeyEvent event)  
    {   if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.ECLAIR && keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) onBackPressed();
        return super.onKeyDown(keyCode, event);
    }
    public void onBackPressed()
    {   CancellaDirectory (new File(Environment.getExternalStorageDirectory() + "/" + TicketID));
        finish();
    }

Ma ovviamente non è una soluzione, ma solo un trucchetto. Mi piacerebbe implementare qualcosa di più consono.
Resta comunque senza alcuna idea il secondo punto.
« Ultima modifica: 08 Giugno 2011, 16:34:57 CEST da OmarLuigi »

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
0
per il primo punto mi sa impossibile che non venga richiamata la onStop sulla seconda activity se richiami la finish! se si segue il lifecycle delle activity...

per il secondo punto credo sia impossibile
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia