0
我需要始终跟踪从整个文件系统中删除的图像和视频(即使我的UI应用程序未运行),直到手机启动后才关闭直到关闭。为此,我使用一个服务和FileObserver。不幸的是下面所附的代码无法正常工作(我不调试器获取的方法Android:FileObserver未通知FS更改
公共无效的onEvent(INT事件,字符串文件)
虽然我做了一些改动FS ...的服务被启动,显然onStarted()方法被执行...
请帮助
public class DataChangeListener extends Service {
private static Context context;
@Override
public IBinder onBind(Intent intent) {
context = this;
return null;
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
context = this;
FileObserver observer = new FileObserver("/") {
@Override
public void onEvent(int event, String file) {
System.out.println();
}
};
observer.startWatching();
}
@Override
public boolean onUnbind(Intent intent) {
return super.onUnbind(intent);
}
}
通过从onStartCommand()返回START_STICKY可以使服务始终保持活动状态,在这种情况下,即使我在DDMS中杀死它,它也会立即被系统重新启动。如果用户明确停止服务,那是另一回事。我认为这里的问题是缺乏权限。 –