Jump to content
Nokioteca Forum

Chiusura Applicazione Con Tasto Rosso


acasta69
 Share

Recommended Posts

Ciao a tutti,

sto cercando di implemetare il codice che previene l'uscita dell'applicazione quando si preme il tasto rosso.

Sto usando un codice di esempio che ho visto da diverse parti (ForumNokia e anche questo forum in un vecchio thread), ma non riesco a farlo funzionare.

In pratica mi sembra che la funzione definita con sys.exitfunc non venga mai chiamata, e premendo il tasto rosso il mio script termina e si chiude la shell di python.

Il funzionamento e' lo stesso sia sull'emulatore sia sul mio telefono.

Il codice e' il seguente:

import appuifw
import e32, sys

lock = e32.Ao_lock()

def quit():
   lock.signal()

appuifw.app.exit_key_handler = quit

def myexitfunc():
   appuifw.note(u"MyExitFunc", 'info')

sys.exitfunc = myexitfunc
appuifw.note(u"Running", 'info')
lock.wait()

Nel codice qua sopra non c'e' nemmeno la chiamata lock.wait() dentro myexitfunc (per ora mi basterebbe vedere che la funzione viene effettivamente chiamata), ma ho provato anche a metterla e non cambia niente: quando premo il tasto rosso il tutto si chiude.

Mi aiutate a capire dove sbaglio?

Grazie!

Ale

Link to comment
Condividi su altri siti

su questa pagina c'era questo codice

import appuifw, e32, sys


#Create an active object
app_lock = e32.Ao_lock()

#Define the function to be called when the right softkey is pressed
def quit():
app_lock.signal()
appuifw.app.set_exit()

#Set it as the right softkey's function
appuifw.app.exit_key_handler = quit

#Define the function to be called when the red key is simulated
#The function calls the active object's wait method
def myexitfunc():
s = appuifw.app.screen
appuifw.app.screen = 'large'
appuifw.app.screen = s
app_lock.wait()

#Set it as the red key's function
sys.exitfunc = myexitfunc

#Application code goes here

se lo salvi in un file .py e lo lanci dalla ScriptShell apparentemente non accade nulla, ma poi quando premi il tasto rosso vedrai che la Shell non si chiude.

Direi che lo script è funzionante :crying_anim02:

Link to comment
Condividi su altri siti

Boh, ho provato a copiare il codice cosi' com'e' ed usarlo sia sull'emulatore sia sul mio telefono.

In entrambi i casi premendo il tasto rosso la shell si chiude.

Potrebbe essere perche' manca il "corpo" dell'applicazione vera e propria, cioe' quello script definisce ed assegna alcune funzioni, ma poi termina senza fare nient'altro?

Cerchero' di fare qualche altra prova nel week-end.

Per il momento grazie per la risposta!

Ale

Link to comment
Condividi su altri siti

molto strano

per capire se la shell si chiude o no, prima di avviare lo script, scrivi una parola, poi avvi lo script, poi premi il tasto rosso e "riapri" la shell. vedrai che c'è ancora scritta quella frase, il che significherebbe che non si è chiusa :mumble:

una volta che hai testato ciò, puoi aggiungere il codice alla fine dello script

Link to comment
Condividi su altri siti

Please sign in to comment

You will be able to leave a comment after signing in



Accedi Ora
 Share

×
×
  • Crea Nuovo...

Informazione Importante

Questo sito utilizza i cookie per analisi, contenuti personalizzati e pubblicità. Continuando la navigazione, accetti l'utilizzo dei cookie da parte nostra | Privacy Policy