2013-04-13 89 views
12

我試圖做盡可能多的研究,但無法找到這個相當簡單的問題的答案(想要在我要設置之前找出答案SDK和一切)。我正在考慮開發我的第一個應用程序,並且想知道BatteryManagerBATTERY_STATUS_CHARGING是否僅包含get函數或set函數。如何停止手機通過USB編程方式充電

我不想做一個應用程序,我可以手動停止充電而不從充電器上拔下充電器(通過USB),所以我想知道這是否可行。

+0

這可能會回答你的問題:http://stackoverflow.com/questions/ 6654189 /如何停止安卓設備從被收費程序 – luxer

回答

9

不,它在無根設備上不可能。它使用Settings.SystemADB_ENABLED,但ADB_ENABLED是安全系統設置,不能由應用程序更改。

是的,它可以在固定電話上完成。

有必要增加一個許可android.permission.WRITE_SECURE_SETTINGS.

同類型的應用程序在谷歌播放:https://play.google.com/store/apps/details?id=com.jim2&hl=en

2

這是不幸的是沒有可能的。 Android僅具有讀取電池數據的API。在這種情況下,ADB_EN​​ABLED不會有幫助,因爲它只能通過USB進行調試。

電池充電控制是Android內核和電池IC模塊的內部。製造商會不時地改變它,但它不適用於沒有根的應用程序,也不能通過一些棘手的界面來控制IC(集成芯片)模塊,這對於幾乎所有設備都是不同的!

最好,如果我們幸運的話,一個sysfs接口可能會幫助做到這一點,但它又需要root並且可能因設備而異。

5

您可以硬連線:12歐姆串行仍然使手機被計算機識別,但緩慢放電。見附圖。 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

我知道這個線程是舊的,但不管怎麼說張貼我答了以後有人到達這裏..試試這個: -
echo 0 > /sys/class/power_supply/batterycharging_enabled/charging_enabled

+2

在我的手機這個文件是在那裏:'/ sys/class/power_supply/battery/battery_charging_enabled' - 更新這個文件的內容爲0停止充電(基於來自AccuBatery和LED的信息)。但我很好奇,如果這是安全的。我不知道充電器是否真的停止提供貨幣,或者只是軟件「在想」它沒有收費。 – dey

相關問題