2013-04-30 14 views

risposta

5

simulando bassa la batteria non viene fornita di default per quanto ne so (se si utilizza eclipse come im). Ma se siete in Linux, u possibile utilizzare telnet per connettersi al ur localhost emulatore ed eseguire azioni 'di potenza'. (Non usato li forse u può dare una prova) http://handycodeworks.com/?p=46

ma u non dovete passare attraverso quel processi. Basta registrare un ricevitore di trasmissione per ACTION_BATTERY_LOW ed è garantito che venga chiamato in scenari di batteria scarica.

Speranza che aiuta

EDIT:

qui è la risposta diretta (supponendo che ur Windows in esecuzione).

Abilitare 'telnet' su Windows se non l'hai già fatto.

Pannello di controllo -> programmi -> sotto 'programmi e funzionalità' selezionare 'attivare o disattivare le funzionalità di Windows' -> si apre una nuova finestra selezionare 'client telenet' e fare clic su OK.

start prompt dei comandi con diritti di amministratore (in AllPrograms cercare 'cmd' e fare clic con il tasto destro su di esso e selezionare Esegui come amministratore).

quindi utilizzare questo comanda

1)telnet localhost 5554 //where 5554 is your emulator id, which is displayed top left corner of ur emulator 
2)power capacity 10 //set the battery level to 10% 
3)power ac off //turns off charging mode 

Ora è possibile vedere una finestra di dialogo di batteria scarica in emulatore.

+1

Grazie per la risposta, ma in realtà sto testando un'app e il mio scenario deve essere testato in condizioni di batteria scarica. Quindi ogni volta devo aspettare che la batteria del dispositivo si scarichi. La tua soluzione include modifiche alle app che non desidero. – AndroDev

+0

@ oops.objective anche se sono in grado di disattivare la modalità di ricarica e abbassare il livello della batteria, non riesco ancora ad essere avvisato tramite il mio ricevitore . Qualche consiglio? – MatheusJardimB

+1

Dopo il passaggio (1) avevo bisogno di fare il comando 'auth', come descritto in http://stackoverflow.com/questions/40700725/android-terminal-telnet-missing-commands-receiving-this-error-ko-unknown -co. Dopo di ciò ha funzionato esattamente come descritto qui, e sono stato persino in grado di rintracciarlo nell'emulatore AVD con il debugger, nel mio BATTERY_LOW BroadcastReceiver! Ulteriori informazioni: Windows 10, AndroidStudio. Avevo bisogno di accendere il client Telnet come descritto, ma non avevo bisogno di eseguirlo in modalità amministratore. Grazie! –

0

È possibile effettuare una ActivityInstrumentationTestCase2 e chiamare i vari , onStop, e onDestroy metodi per simulare una situazione di memoria insufficiente solo il è garantito di essere chiamato:

In situazioni in cui il sistema ha bisogno di più memoria esso potrebbe uccidere in pausa i processi per recuperare le risorse. Per questo motivo, dovresti assicurarti che che tutto il tuo stato venga salvato al momento del tuo ritorno da questa funzione . In onSaveInstanceState generale (bundle) viene utilizzato per salvare stato per-esempio nell'attività e questo metodo (onPause) viene utilizzato per memorizzare i dati persistenti globali (in fornitori di contenuti, file, etc.)

+0

Grazie per la risposta, ma in realtà sto testando un'app e il mio scenario deve essere testato in condizioni di batteria scarica. Quindi ogni volta devo aspettare che la batteria del dispositivo si scarichi. La tua soluzione include modifiche alle app che non desidero. – AndroDev

+0

@AndroDev Stai dicendo che non hai accesso al codice? –

+0

Ho ma questo posso fare anche codificando alcuni valori. Non voglio valori hardcode. Questo è il motivo per cui ho chiesto questo. – AndroDev

1

La batteria è rimovibile? In tal caso, procurati una batteria di riserva e mantienila in uno stato di carica bassa per il test di batteria scarica.

+0

Sì, la batteria è rimovibile ma quello che stai suggerendo non è la risposta alla mia domanda. Voglio simulare condizioni di batteria scarica nel mio dispositivo Android usando qualcosa come i comandi adb. – AndroDev

1

Il collegamento da @ user2240369 porta effettivamente alla risposta giusta. Si dovrebbe fare questo:

telnet localhost 5554 #or wahtever port you are using 
power capacity 60 
4

Con dell'emulatore Android Extended Controls, è ora possibile impostare il livello della batteria con un cursore GUI chiamato "livello di carica."

Per accedere a questo, avviare l'emulatore. Quindi fare clic su "...Batteria voce 'del menu "nella parte inferiore del pannello delle impostazioni (che si aggira sulla destra dell'emulatore)

enter image description here

Si apre il pannello Controlli estesi che contiene una.':

enter image description here

Il dispositivo di scorrimento del livello di carica va da 0 a 100% È inoltre possibile simulare la batteria fisica guasta/surriscaldata/ecc. E spegnere il caricabatterie regolando gli altri controlli a discesa.

Problemi correlati