Android デバイス上の特定のプログラムによってアクセスされた (またはアクセスしようとして失敗した) ファイルを監視する必要があります。PC の FileMon のようなもの。
プログラムを逆コンパイルするための提案がネット上にありますが、私はもっと直接的な方法を探しています。
ありがとう。
Android デバイス上の特定のプログラムによってアクセスされた (またはアクセスしようとして失敗した) ファイルを監視する必要があります。PC の FileMon のようなもの。
プログラムを逆コンパイルするための提案がネット上にありますが、私はもっと直接的な方法を探しています。
ありがとう。
標準のandroid.os.FileObserverを使用する必要があります。これは、デバイス上の任意のプロセス (これを含む) によってファイルがアクセスまたは変更された後にイベントを発生させるために (inotify を使用して) ファイルを監視します。FileObserver は抽象クラスです。サブクラスは、イベント ハンドラー onEvent(int, String) を実装する必要があります。このリンクを参照してくださいhttp://developer.android.com/reference/android/os/FileObserver.html
ここでの簡単な例:
import android.os.FileObserver;
import android.util.Log;
/**
* SD Card file monitor
*
*/
public class SDCardListener extends FileObserver {
public SDCardListener(String path) {
super(path);
}
@Override
public void onEvent(int event, String path) {
switch(event) {
case FileObserver.ALL_EVENTS:
Log.d("all", "path:"+ path);
break;
case FileObserver.CREATE:
Log.d("Create", "path:"+ path);
break;
}
}
}
SDCardListener listener = new SDCardListener("YOURDIRPATH");
//Start monitoring
listener.startWatching();
// You can try to access the directory here
//Stop monitoring
listener.stopWatching();
心に留めておくべきことの 1 つは、ファイル オブザーバー オブジェクトへの有効な参照を保持して、GC からそれを防ぐ必要があるということです。