Autore Topic: Dispositivo in standby. E la connessione dati?  (Letto 3736 volte)

Offline Grifith

  • Utente junior
  • **
  • Post: 56
  • Respect: +1
    • Mostra profilo
    • La mia prima applicazione...
Dispositivo in standby. E la connessione dati?
« il: 13 Febbraio 2012, 16:53:34 CET »
0
Buonasera.

Avrei un quesito da porvi. Quando il dispositivo si trova in standBy, per intenderci con lo schermo nero, la connessione dati rimane attiva oppure no? Perchè, nell'applicazione che sto svolgendo effettua chiamate verso un server ogni minuto. Se metto l'applicazione in background, essa continua tranquillamente a lavorare senza alcun problema (impostando il PowerManager in modo da non farmi spegnere lo schermo.).
Se invece forzo il dispositivo e lo metto in standby io, non vengono più effettuate connessioni verso il server.

Il mio dubbio riguarda il fatto se effettivamente, viene bloccato il traffico dati oppure no.
Voi, luminari di questo campo (e non vi sto prendendo in giro, che mi avete aiutato veramente tanto in questi mesi), ne sapete qualcosa?
Esiste un modo per risolverla?

Grazie mille

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Dispositivo in standby. E la connessione dati?
« Risposta #1 il: 13 Febbraio 2012, 17:03:28 CET »
0
Puoi prendere un wifi lock.

http://developer.android.com/reference/android/net/wifi/WifiManager.WifiLock.html

Da quanto ne so la connessione dati mobile dovrebbe rimanere attiva.

Se non ti funziona potrebbe essere un problema relativo al tuo servizio. Come lo hai implementato?
Se usi i thread è normale che si interrompa se attivi il lock (lo mandi in stand by)... devi usare un allarme che puoi settare con l'AlarmManager.

Offline Grifith

  • Utente junior
  • **
  • Post: 56
  • Respect: +1
    • Mostra profilo
    • La mia prima applicazione...
Re:Dispositivo in standby. E la connessione dati?
« Risposta #2 il: 13 Febbraio 2012, 17:04:38 CET »
0
Puoi prendere un wifi lock.

http://developer.android.com/reference/android/net/wifi/WifiManager.WifiLock.html

Da quanto ne so la connessione dati mobile dovrebbe rimanere attiva.

Se non ti funziona potrebbe essere un problema relativo al tuo servizio. Come lo hai implementato?
Se usi i thread è normale che si interrompa se attivi il lock (lo mandi in stand by)... devi usare un allarme che puoi settare con l'AlarmManager.

Ciao.
La stessa situazione accade, sia in caso di Thread che di AlarmManager.

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Dispositivo in standby. E la connessione dati?
« Risposta #3 il: 13 Febbraio 2012, 17:12:37 CET »
0
Onestamente non ho avuto problemi del genere, ma può darsi che sia differente a seconda del telefono e della configurazione.

Io proverei a dare a chance a startUsingNetworkFeature:

http://developer.android.com/reference/android/net/ConnectivityManager.html#startUsingNetworkFeature(int, java.lang.String)

Offline Grifith

  • Utente junior
  • **
  • Post: 56
  • Respect: +1
    • Mostra profilo
    • La mia prima applicazione...
Re:Dispositivo in standby. E la connessione dati?
« Risposta #4 il: 13 Febbraio 2012, 17:19:11 CET »
0
Onestamente non ho avuto problemi del genere, ma può darsi che sia differente a seconda del telefono e della configurazione.

Io proverei a dare a chance a startUsingNetworkFeature:

http://developer.android.com/reference/android/net/ConnectivityManager.html#startUsingNetworkFeature(int, java.lang.String)

Perdonami, ma non ho capito...

Offline undead

  • Utente senior
  • ****
  • Post: 666
  • Respect: +113
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S6
  • Play Store ID:
    DrKappa
  • Sistema operativo:
    Windows 10 64-bit, Windows 8.1 64-bit
Re:Dispositivo in standby. E la connessione dati?
« Risposta #5 il: 13 Febbraio 2012, 17:37:46 CET »
0
Se non mi sbaglio quella funzione dovrebbe informare il sistema che tu vuoi utilizzare una certa feature e puoi dirgli che stai per usare la rete mobile.
Non mi sembra molto documentata ma forse merita un tentativo. Ho visto che la puoi usare per gli MMS, forse potresti richiede la feature MMS, fare gli affati tuoi e poi segnalare che hai finito.

Ho una applicazione che fa una cosa simile )fa richieste ad un server) e funziona in 3g senza che abbia dovuto fare niente di particolare. Tra l'altro per ovvie ragioni quando va in sleep la rete mobile in teoria è attiva, non avrebbe senso il contrario visto che parliamo di telefoni!  ;-)

Qui c'è un utente che pare abbia problemi con una mole di dati significativa, forse la sua soluzione può aiutarti.
http://stackoverflow.com/questions/6024801/problems-with-large-data-transfers-across-an-asynchronous-socket-connection-in-a

Nella mia app tra send e receive consumo 1,7kb e non ho mai avuto problemi di sorta. A quanto ammontano i dati che trasferisci?

Offline Grifith

  • Utente junior
  • **
  • Post: 56
  • Respect: +1
    • Mostra profilo
    • La mia prima applicazione...
Re:Dispositivo in standby. E la connessione dati?
« Risposta #6 il: 13 Febbraio 2012, 17:52:08 CET »
0
Se non mi sbaglio quella funzione dovrebbe informare il sistema che tu vuoi utilizzare una certa feature e puoi dirgli che stai per usare la rete mobile.
Non mi sembra molto documentata ma forse merita un tentativo. Ho visto che la puoi usare per gli MMS, forse potresti richiede la feature MMS, fare gli affati tuoi e poi segnalare che hai finito.

Ho una applicazione che fa una cosa simile )fa richieste ad un server) e funziona in 3g senza che abbia dovuto fare niente di particolare. Tra l'altro per ovvie ragioni quando va in sleep la rete mobile in teoria è attiva, non avrebbe senso il contrario visto che parliamo di telefoni!  ;-)

Qui c'è un utente che pare abbia problemi con una mole di dati significativa, forse la sua soluzione può aiutarti.
http://stackoverflow.com/questions/6024801/problems-with-large-data-transfers-across-an-asynchronous-socket-connection-in-a

Nella mia app tra send e receive consumo 1,7kb e non ho mai avuto problemi di sorta. A quanto ammontano i dati che trasferisci?

La mole di dati inviati non dovrebbe essere la causa del problema. Alla fine invio delle Stringhe in request e in response ricevo degli xml. E quelli che invio e ricevo in continuazioni sono delle informazioni spot...

Più tardi proverò con questo sistema, anche se sarà difficile con un tablet (senza connessione dati mobile ma solo wi-fi (che si spegne cmq,ma questo è un altro conto...)).

Una domanda, che forse può essere idiota. Da quanto sappiamo, lo standby tende a bloccare i thread (parliamo proprio di java.lang.Thread). E' possibile che, bloccando un thread (che non ha niente a che vedere con la connessione, ma soltanto con un suono) mi blocchi direttamente tutta l'app?
Nel senso, è possibile che la fase di standby blocchi tutta l'applicazione che contiene un thread?