Autore Topic: Non far chiudere un activity  (Letto 1253 volte)

vincenzodicicco

  • Visitatore
Non far chiudere un activity
« il: 21 Luglio 2010, 21:50:07 CEST »
0
Ragazzi ho cercato di documentarmi in giro, e per come ho letto il tasto HOME non può essere intercettato, ma se un app ha la necessità di rimanere sempre in foreground, ovviamente fornendo all'utente un modo per uscire?Capisco, che android ha il dovere di evitare applicazioni così in quanto "sospette", ma se un applicazione di sicurezza a bisogno di una cosa del genere che si fa?io una soluzione l'ho trovata ma troppo esagerata:
Un asynctask che controlla sempre una variabile se questa ha un determinato valore, cambiato dall'onPause(), avvia una nuova activity.L'unica pecca è che questa procedura risulta essere troppo lenta.
Consigli?? un saluto a tutti  :-)

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Non far chiudere un activity
« Risposta #1 il: 22 Luglio 2010, 00:32:03 CEST »
0
A che servirebbe una cosa del genere? Una delle regole fondamentali della programmazione android (e della programmazione in generale) é di non falsare l'esperienza utente.
Postate il LogCat LogCat LogCat LogCat LogCat

Offline ScarfaceIII

  • Utente junior
  • **
  • Post: 112
  • Respect: +13
    • raferalston12
    • Mostra profilo
  • Dispositivo Android:
    Nexus One
  • Sistema operativo:
    GNU/Linux, Ubuntu 10.04 / Windows 7
Re:Non far chiudere un activity
« Risposta #2 il: 22 Luglio 2010, 01:07:56 CEST »
0
sono completamente daccordo con Blackgin. Non mi pare sensato il fatto di stare tassativamente in foreground. All'arrivo di una chiamata entrante non capisco perché non dovrei rispondere per mantenere qualcosa visibile. Tutt'alpiù si può sfruttare un Service o un Thread per continuare a lavorare in background e poi riprendere il lavoro quando termina l'Activity che aveva Focus. Un approcio del genere mi sembra piuttosto scorretto e anche scomodo...

vincenzodicicco

  • Visitatore
Re:Non far chiudere un activity
« Risposta #3 il: 22 Luglio 2010, 02:02:58 CEST »
0
Si si, cioè questo e verissimo e sono d'accordo anche io! però ho pensato, e se io volessi sviluppare un'applicazione che mi permette di bloccare il telefono con un Pin e sbloccarlo quando viene messo quello corretto ecc, come quello nativo in android per esempio?, uno sviluppatore su questo campo non può far nulla? questo penso non significhi falsare  l'esperienza utente, egli è al corrente che il telefono è bloccato, l'applicazione è stata sviluppata per questo!io devo ammettere che mi girava in testa quest'idea, che mi ha portato a fare questa osservazione.Oppure, e penso sarebbe una decisione molto saggia, si è preferito lasciare questo tipo di applicazioni riservate al sistema operativo? ovviamente l'argomento sicurezza è molto delicato.Che ne pensate?

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:Non far chiudere un activity
« Risposta #4 il: 22 Luglio 2010, 10:49:01 CEST »
0
Mai fatta una cosa del genere, ma se invece di monitorare una variabile fai partire una nuova activity in onPause che accade? E se non puoi farlo, fai partire un service che fa ripartire l'activity?

In ogni caso, hai pensato a cosa accade se ti arriva una telefonata (o altra attività che richiede il focus) mentre l'applicazione è attiva?

P.S.: Io una applicazione del genere la rimuovo dal mio cellulare 4 secondi dopo averla installata!!!

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Non far chiudere un activity
« Risposta #5 il: 22 Luglio 2010, 10:59:10 CEST »
0
Si si, cioè questo e verissimo e sono d'accordo anche io! però ho pensato, e se io volessi sviluppare un'applicazione che mi permette di bloccare il telefono con un Pin e sbloccarlo quando viene messo quello corretto ecc, come quello nativo in android per esempio?, uno sviluppatore su questo campo non può far nulla? questo penso non significhi falsare  l'esperienza utente, egli è al corrente che il telefono è bloccato, l'applicazione è stata sviluppata per questo!io devo ammettere che mi girava in testa quest'idea, che mi ha portato a fare questa osservazione.Oppure, e penso sarebbe una decisione molto saggia, si è preferito lasciare questo tipo di applicazioni riservate al sistema operativo? ovviamente l'argomento sicurezza è molto delicato.Che ne pensate?

In questo caso devi creare un lockscreen, non di certo una semplice activity. Sinceramente non so come si fa, ma alcune app lo fanno, come lock 2.0 (mi pare si chiamasse cosí)
Postate il LogCat LogCat LogCat LogCat LogCat

vincenzodicicco

  • Visitatore
Re:Non far chiudere un activity
« Risposta #6 il: 22 Luglio 2010, 14:48:21 CEST »
0
Ok ragazzi, ovviamente era e rimane un idea, l'ho scritto qui solo perché mi volevo togliere questo dubbio e discuterne con voi.Quindi blackgin esistono "activity speciali" per questo genere di cose? devo ammettere che un po ci sarei rimasto male se uno sviluppatore non poteva creare app su questo campo, dall'altro sarei contento in quanto so che l'unica app che c'è di sicuro è strutturata bene e non da un programmatore chiunque.
Poi MarcoDuff nelle piccole prove che ho fatto, non riuscivo a lanciare una nuova activity dall onPause.  :-)

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re: Non far chiudere un activity
« Risposta #7 il: 22 Luglio 2010, 16:07:35 CEST »
0
Sinceramente non so come andare a operare per gestire una lockscreen ma di fatto alcune app lo fanno, come proprio lock 2.0 e un'altra di cui non ricordo il nome che permetteva di visualizzare informazioni direttamente nella schermata di lock
Postate il LogCat LogCat LogCat LogCat LogCat

vincenzodicicco

  • Visitatore
Re:Non far chiudere un activity
« Risposta #8 il: 23 Luglio 2010, 02:41:36 CEST »
0
Bhè ecco grazie per la risposta blackgin, spero che qualcuno non abbia pensato che voglia fare qualcosa di "ambiguo" e fuori le regole del buon programmatore :-)

Offline vicvondoom

  • Utente junior
  • **
  • Post: 71
  • Respect: +4
    • Mostra profilo
    • vicvondoom
  • Dispositivo Android:
    Sony XPeria U
  • Play Store ID:
    Orlando Davide
  • Sistema operativo:
    Windows 8
Re:Non far chiudere un activity
« Risposta #9 il: 15 Settembre 2010, 10:44:47 CEST »
0
Mumble.. ma per non falsare l'esperienza utOntO :) sarebbe interessante dedicare un area di schermo a ciò che DEVE essere notificato.. il punto è che arriva una telefonata, bene, e mi prende tutto lo schermo! Se invece mi fosse notificata nell'area notifiche (ma anche un'area più grande!) il resto dello schermo potrebbe essere utilizzato per app che fanno cose in contemporanea alla telefonata (che DEVE essere vista dall'utonto)..
A me pare che Google è andata oltre a a non falsare l'esperienza utente, ci prende un pò per fessi :)
Mi spiego meglio, per programmare a basso livello devi andare oltre alla dalvik machine e mettere le mani sull'Ndk e anche lì è dura perchè al momento attuale (per quanto ho cercato) non c'è praticamente nulla, a parte qualche tutorial tipo hello world e un tutorial di un indiano per sfruttare le opengl al di fuori della dalvik e fare cose più performanti.
Insomma mi sembra che siamo come i bambini che certe cose non le possono toccare e lo fà solo mamma Google..(Apple invece ha messo proprio i catenacci, ecco perchè ho venduto l'iFon :) )

Che ne pensate?
"Non c'è cattivo più cattivo di un buono quando diventa cattivo!" Bud Spencer in 'Chi trova un amico trova un tesoro'.