Autore Topic: Lock Screen - procedimento logico  (Letto 1105 volte)

Offline tonno16

  • Utente storico
  • *****
  • Post: 1232
  • Respect: +60
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
Lock Screen - procedimento logico
« il: 11 Agosto 2014, 18:43:50 CEST »
0
Posto qui perchè sinceramente non mi vengono in mente altre sezioni.

Premetto che il tutto avviene dopo aver scritto 4 righe di codice per disabilitare il keyguard, ovvero il lockscreen
Volevo creare una sorta di lockscreen, e mi ritrovo con il seguente modello:

La mia activity che avvia un servizio. il servizio quando avviato registra un brodcastReceiver in maniera dinamica:

es:  registerReceiver(mybroadcast, new IntentFilter(Intent.ACTION_SCREEN_ON));

Ho letto che registrandolo in maniera statica nel manisfest, esso non funziona.
Dunque ho provato a lanciare la mia app nel metodo onReceive(). Tutto funziona alla perfezione, ma è improponibile avere 1,5 secondi di attesa per l'esecuzione del metodo onReceive(). Ovvero quando sblocco lo schermo il lancio della mia activity impiega 1,5 secondi...troppi :)

Ho provato una cosa inversa, ovvero con ACTION_SCREEN_OFF, ovvero avviando la mia applicazione quando spengo lo schermo, cosi quando lo riaccendo mi compare come prima cosa. Questo ultimo metodo funziona ovviamente in maniera istantanea, ma non sempre. Può capitare che android killi la mia activity oppure che il servizio venga riavviato seppur con START_STICKY.

Cosa potete dirmi?