如何在Android中使用FileObserver监控/sys/class/";
我正在尝试使用如何在Android中使用FileObserver监控/sys/class/";,android,fileobserver,Android,Fileobserver,我正在尝试使用FileObserver监视“/sys/class/udc”文件夹。我的应用程序是system priv应用程序,因此不应存在权限问题。我无法检测更改事件 String path = "/sys/class/udc"; static final int mask = ( FileObserver.CREATE | FileObserver.DELETE | FileObserver.DELETE_SELF | FileObserver.MODIFY
FileObserver
监视“/sys/class/udc”文件夹。我的应用程序是system priv应用程序,因此不应存在权限问题。我无法检测更改事件
String path = "/sys/class/udc";
static final int mask = (
FileObserver.CREATE |
FileObserver.DELETE |
FileObserver.DELETE_SELF |
FileObserver.MODIFY |
FileObserver.MOVED_FROM |
FileObserver.MOVED_TO |
FileObserver.MOVE_SELF
);
public UsbCableDisconncetEvent(String path) {
super(path, mask);
Log.d(TAG, "DisconnectEventHandler modified");
}
public void onEvent(int event, String path) {
Log.d(TAG, "recieved moified event " + event);
}
FileObserver
是否支持监视“/sys/class”文件?在阅读了Android框架代码后,我能够找到我问题的答案。想要使用FileObesever监视内核事件(uevent)的人可以参考以下代码:
private static final String STATE_PATH = "/sys/class/android_usb/android0/state";
public final UEventObserver mUEventObserver = new UEventObserver() {
@Override
public void onUEvent(UEventObserver.UEvent event) {
Log.d(TAG, "USB UEVENT: " + event.toString());
}
};
mUEventObserver.startObserving(USB_STATE_MATCH);
You will start receiving events and should be able to see the same in the logs.