当我们的应用不在栈顶的时候,文件将不再监听。
由于文件改变后会在上一级文件夹上表现出来:即时间的改变。于是我使用了FileObserver进行递归循环对所有文件夹进行监听。
第一次应用启动时会做入库操作,这个时间可能会很长(和手机中的文件数量有关),当应用被杀死后的第二次启动依旧会对已更新的文件夹进行入库更新操作。
dependencies {
'com.jakewharton:butterknife:8.6.0'
'io.objectbox:objectbox-android:0.9.13'
'io.reactivex.rxjava2:rxjava:2.x.y'
'io.reactivex.rxjava2:rxandroid:2.0.1'
'com.trello.rxlifecycle2:rxlifecycle:2.1.0'
'com.trello.rxlifecycle2:rxlifecycle-android:2.1.0'
'com.trello.rxlifecycle2:rxlifecycle-components:2.1.0'
}
public class Application extends MultiDexApplication {
@Override
public void onCreate() {
super.onCreate();
FileUpdatingService.startService(this);
}
}
需要extends BaseAppli.class
public class Application extends BaseAppli {
private FileConfig fileConfig;
private FileConfigCallback configCallback = new FileConfigCallback() {
@Override
public FileConfig getConfig() {
fileConfig.userToken = "123";
fileConfig.fileBaseTitle = getString(R.string.mine_file_str);
return fileConfig;
}
};
@Override
public void onCreate() {
super.onCreate();
fileConfig = new FileConfig();
}
@Override
public boolean isStartFileUpdating() {
return true;
}
@Override
public FileConfigCallback getFileConfigCallback() {
return configCallback;
}
}