假设我有一个通过USB OTG适配器连接到运行Android 4.0.3的东芝Excite 10平板电脑上并由其提供电源的USB灯。
我想在应用程序中编程地打开和关闭USB OTG主机端口的电源引脚。(最好不需要root权限,但我会尽力而为)。有什么建议吗?
我想在应用程序中编程地打开和关闭USB OTG主机端口的电源引脚。(最好不需要root权限,但我会尽力而为)。有什么建议吗?
您需要在/sys目录上拥有写权限。获取root权限可以使这个过程变得非常简单。只需获取root权限并发出正确的echo命令以切换内核状态位,如下:
String[] command = { "/system/bin/sh", "-c", "echo xxx > /sys/bus/usb/devices/usb3/power/level", };
Runtime.getRuntime().exec(command);
另一种方法是使用libusb,找到切断电源的函数。您可以使用android.hardware.usb.UsbManager请求libusb的适当权限。
/sys/bus/usb/devices/usb3/power/level
。我尝试了一下没有root权限,但写入失败了,所以下一步我想我需要root我的平板电脑然后再试一次。来源:https://dev59.com/nW445IYBdhLWcg3wydBk - AlcubierreDrive