我有一个 Android 应用程序,我想监视一个文件夹。我做了一个服务(我想不停地监控文件夹,即使用户杀死了应用程序),我把文件夹的路径放在 Intent 的附加部分中。在服务中,我有一个 FileObserver,它应该监视我的文件夹并在文件夹内创建文件时触发事件。问题是该事件永远不会被触发。难道我做错了什么?谢谢!
@Override
public int onStartCommand(Intent intent, int flags, int startId){
String mainFolder = intent.getStringExtra("mainFolder");
Toast.makeText(getApplicationContext(), "Service start! Main folder is: " + mainFolder, Toast.LENGTH_LONG).show();
FileObserver observer = new FileObserver(mainFolder) {
@Override
public void onEvent(int event, String path) {
if (path == null) {
return;
}
if (FileObserver.CREATE == event) {
Toast.makeText(getApplicationContext(), "This file was creted: " + path, Toast.LENGTH_LONG).show();
}
}
};
observer.startWatching();
return START_REDELIVER_INTENT;
}