2013-04-13 12 views
12

Ho provato a fare più ricerche possibili ma non riesco a trovare una risposta a questa domanda abbastanza semplice (voglio capirlo prima di iniziare a configurare SDK e tutto il resto). Sto pensando di sviluppare la mia prima app e mi chiedo se lo BATTERY_STATUS_CHARGING di BatteryManager contenga solo una funzione get o anche una funzione set.Come arrestare la ricarica del telefono via USB programmaticamente

Non voglio creare un'app in cui sia possibile interrompere manualmente la ricarica del telefono senza scollegarlo dal caricabatterie (tramite USB) e quindi mi chiedo se sia effettivamente possibile.

+0

Questo avrebbe potuto rispondere alla tua domanda: http://stackoverflow.com/questions/ 6654189/how-to-stop-an-android-device-from-being-charged-programmaticamente – luxer

risposta

9

No, non è possibile su dispositivi non radiocomandati. Utilizza Settings.System con ADB_ENABLED, ma ADB_ENABLED è un'impostazione del sistema sicuro che non può essere modificata da un'applicazione.

Sì, può essere eseguito sul telefono rooted.

C'è bisogno di aggiungere un permesso android.permission.WRITE_SECURE_SETTINGS.

stesso tipo di applicazione su Google Play: https://play.google.com/store/apps/details?id=com.jim2&hl=en

2

Questo purtroppo non è possibile. Android ha solo le API lette per i dati della batteria. ADB_ENABLED non sarà di aiuto in questa istanza in quanto è solo per abilitare il debug su USB.

Il controllo di carica della batteria è interno al kernel di Android e ai moduli di batteria IC. I produttori cambiano di tanto in tanto, ma non è disponibile per le app senza root e senza il controllo dei moduli IC (chip integrato) attraverso una interfaccia complicata che sarebbe in realtà diversa per quasi tutti i dispositivi là fuori!

Nella migliore delle ipotesi, se siamo fortunati, un'interfaccia sysfs potrebbe aiutare a farlo, ma ancora una volta richiede root e potrebbe differire da dispositivo a dispositivo.

5

È possibile cablarlo: 12 ohm in serie rendono ancora il telefono riconosciuto dal computer, ma lentamente si scaricano. Vedi immagine allegata. microUSB cable plugged into PCB. PCB shows VCC connected to wire via 12Ω resistor, and D-, D+ and GND connected directly to wires. All wires go to cable out of image

1

So che questo thread è vecchio, ma la pubblicazione miei ans in ogni modo per qualcuno di raggiungere qui più tardi .. Prova questo: -
echo 0 > /sys/class/power_supply/batterycharging_enabled/charging_enabled

+2

Nel mio telefono questo file era lì: '/ sys/class/power_supply/battery/battery_charging_enabled' - aggiornamento del contenuto di questo file a 0 interrotta la ricarica (in base alle informazioni di AccuBatery e dei LED). Ma sono curioso di sapere se questo è sicuro. Non so se il caricatore abbia davvero smesso di fornire la valuta o semplicemente il software stia "pensando" che non è addebitato. – dey