2017-08-16 15 views
0

FileObserverを使用して、 "/ sys/class/udc"フォルダを監視しようとしています。私のアプリはシステム権限のアプリなので、権限の問題はないはずです。変更イベントを検出できません。AndroidでFileObserverを使用して "/ sys/class /"を監視する方法

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"ファイルの監視をサポートしていますか?

答えて

0

Android Frameworkコードを実行した後、私の質問に対する答えが見つかりました。 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. 
関連する問題