Autore Topic: sms e focus activity  (Letto 589 volte)

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
sms e focus activity
« il: 12 Giugno 2012, 14:37:23 CEST »
0
Salve ho creato un programmino che non deve ha interfaccia grafica ma deve essere eseguito senza essere visto dall'utente. Una volta lanciato dall'utente lo nascondo col comand:
Codice (Java): [Seleziona]
moveTaskToBack(true);
scritto nell'onCreate

Il programma serve per ricevere degli sms, analizzarli e compiere particolari compiti in funzione degli sms di input. Nell'ultimo update ho aggiunto che a un particolare comando il telefono a cui scrivo mi deve rispondere con un messaggio (sms).
il messaggio lo compongo invio tramite:

Codice (Java): [Seleziona]
sms.sendMultipartTextMessage("num", null, parti,
                                sentIntents, null);

La cosa che non mi va bene è che quando eseguo l'invio, l'actvity compare a schermo.

Come posso farla rimanere in background? oppure c'è un modo per non utilizzare proprio un activity?

Offline DarnellNajanReed

  • Utente normale
  • ***
  • Post: 359
  • Respect: +49
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus One, Acer Iconia A500/501, Asus Transformer Prime, Galaxy ACE, Galaxy S Plus, Galaxy S Advance P, Galaxy Tab 2 7.0, Google Nexus 7
  • Play Store ID:
    Luigi Notaro
  • Sistema operativo:
    OS X 10.8.3
Re:sms e focus activity
« Risposta #1 il: 12 Giugno 2012, 14:45:46 CEST »
0
Per queste necessità, Android mette a disposizione un componente fondamentale: Service.
http://developer.android.com/reference/android/app/Service.html

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:sms e focus activity
« Risposta #2 il: 12 Giugno 2012, 15:09:25 CEST »
0
Non so, leggendo un po in giro non trovo che il service fa al caso mio, l'attività adesso che mi rendo conto facendo un po di debug mi serve solamente per ricavarmi lo stato della batteria che il context del receiver degli sms non può.

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:sms e focus activity
« Risposta #3 il: 12 Giugno 2012, 15:15:19 CEST »
0
OK! ho risolto. Ho eliminato completamente l'attività lasciando solo il broadcast per la ricezione degli sms e dove mi dava errore nel richiedere la batteria, ho ricavato il context dell'applicazione dal contet del receiver.

questo era l'errore:
Codice: [Seleziona]
06-12 15:10:48.804: E/AndroidRuntime(16598): android.content.ReceiverCallNotAllowedException: IntentReceiver components are not allowed to register to receive intentsio ho rimediato così:
Codice (Java): [Seleziona]
context.getApplicationContext()

Ora però vorrei segnalare l'avvio dell'applicazione almeno con toast, dove lo posso mettere?

Offline DarnellNajanReed

  • Utente normale
  • ***
  • Post: 359
  • Respect: +49
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus One, Acer Iconia A500/501, Asus Transformer Prime, Galaxy ACE, Galaxy S Plus, Galaxy S Advance P, Galaxy Tab 2 7.0, Google Nexus 7
  • Play Store ID:
    Luigi Notaro
  • Sistema operativo:
    OS X 10.8.3
Re:sms e focus activity
« Risposta #4 il: 12 Giugno 2012, 15:19:05 CEST »
0
Per intercettare l'arrivo degli sms la scelta del broadcastreceiver è ovviamente la migliore. Fai solo attenzione alle elaborazioni successive, se un receiver non termina il suo onReceive entro 10 secondi l'app ti va in ANR.

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:sms e focus activity
« Risposta #5 il: 12 Giugno 2012, 15:23:18 CEST »
0
si ho notato, e corretto poco tempo fa, ho risolto facendo creare un trhead all'avvio così da avere tutto il tempo che voglio!;)