2013-04-13 10 views
12

Ich habe versucht, so viel Forschung wie möglich zu tun, aber kann keine Antwort auf diese ziemlich einfache Frage finden (das herauszufinden, bevor ich aufstellen werde Das SDK und alles). Ich denke über die Entwicklung meiner ersten App und frage mich, ob die BATTERY_STATUS_CHARGING aus der BatteryManager nur eine get Funktion oder auch eine set Funktion enthält.Wie man das Telefon vom Aufladen über USB programmatisch stoppt

Ich möchte eine App machen, in der ich das Laden des Handys manuell beenden kann, ohne es vom Ladegerät (über USB) zu trennen und frage mich, ob das tatsächlich möglich ist.

+0

Diese Frage beantwortet haben könnte: http://stackoverflow.com/questions/ 6654189/how-to-stop-ein-Android-Gerät-von-aufgeladen-programmgesteuert – luxer

Antwort

9

Nein, bei nicht gerooteten Geräten nicht möglich. Es verwendet Settings.System mit ADB_ENABLED, aber ADB_ENABLED ist eine Secure-System-Einstellung, die von einer Anwendung nicht geändert werden kann.

Ja, es kann auf gerootetem Telefon erfolgen.

Es brauchen, ist eine Erlaubnis android.permission.WRITE_SECURE_SETTINGS.

Die gleiche Art von Anwendung auf Google Play hinzuzufügen: https://play.google.com/store/apps/details?id=com.jim2&hl=en

2

Dies ist leider nicht möglich. Android hat nur APIs für Batteriedaten gelesen. ADB_ENABLED wird auch in diesem Fall nicht helfen, da es nur Debugging über USB ermöglicht.

Die Batterieladesteuerung ist in den Android-Kern- und Batterie-IC-Modulen integriert. Hersteller ändern es von Zeit zu Zeit, aber es ist nicht verfügbar für Anwendungen ohne root und ohne die IC (integrierten Chip) Module durch einige knifflige Schnittstelle, die eigentlich für fast jedes Gerät da draußen anders sein würde!

Im besten Fall kann eine sysfs-Schnittstelle dazu beitragen, aber wiederum erfordert es root und kann sich von Gerät zu Gerät unterscheiden.

5

Sie können es fest verdrahten: 12 Ohm in Serie macht noch das Telefon vom Computer erkannt werden, aber langsam entladen. Siehe beigefügtes Bild. 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

Ich weiß, dieser Thread ist alt, aber Entsendung meine ans sowieso für jemanden hier später erreicht .. Versuchen Sie folgendes: -
echo 0 > /sys/class/power_supply/batterycharging_enabled/charging_enabled

+2

In meinem Handy war diese Datei dort: '/ sys/class/power_supply/Batterie/Batterie_Ladegerät_aktiviert - Aktualisieren des Inhalts dieser Datei auf 0 Laden beendet (basierend auf Informationen von AccuBatery und von LED). Aber ich bin neugierig, ob das sicher ist. Ich weiß nicht, ob das Ladegerät wirklich aufgehört hat, Währung zu liefern, oder einfach nur Software "denkt", dass es nicht aufgeladen ist. – dey

Verwandte Themen