USBOTGアダプターを介してAndroid4.0.3を実行しているToshibaExcite10タブレットに接続されたUSB電源のLEDランプがあるとします。
プログラムでUSBOTGホストポートの電源ピンをアプリからオンまたはオフにしたい。(理想的にはルートなしですが、私は私が得ることができるものを取ります)。何か案は?
/sysディレクトリへの書き込み権限が必要です。ルート化はプロセスを非常に簡単にします。デバイスをルート化し、正しいechoコマンドを発行して、次のようなカーネルステータスビットを切り替えます。
String[] command = { "/system/bin/sh", "-c", "echo xxx > /sys/bus/usb/devices/usb3/power/level", };
Runtime.getRuntime().exec(command);
もう1つの方法は、libusbを使用して、電源を切る関数のライブラリを掘り下げることです。android.hardware.usb.UsbManagerを使用して、libusbの適切な権限をリクエストできます。
ここからわかるようにhttps://askubuntu.com/questions/342061/power-on-off-usb-ports「これまでの回答はすべて、USBサスペンドメカニズム、つまり「論理的な電源オフ」について説明しています。 USBポートからVBUS+5Vを物理的に切断しないでください。」
ハードウェアソリューションは悪い考えかもしれませんが、PCB上にプログラムされたAtmega8U4チップを備えたMOSFETトランジスタを使用することをお勧めします。これは、LEDランプへの電力を遮断するようにプログラムされています。