我正在编写一个App和一个需要数据的accopmanying小部件。该数据通过网络下载。我打算使用IntentService进行下载。此服务将数据保存为文件。然后,App和小部件都使用此文件。
如何在服务写入时阻止应用和窗口小部件读取文件?
当应用程序或窗口小部件正在读取文件时,如何阻止服务写入文件?
谢谢!
答案 0 :(得分:1)
考虑扩展Application
并声明一个字段以供读取和写入权限:
public class APP extends Application {
boolean motherMayI;
...
}
然后,无论何时打开FileInputStream
或FileOutputStream
,
...
if (motherMayI) {
APP.motherMayI = false;
FileInputStream input = context.openFileInput("some_file_name");
//read your stuff
input.close()
APP.motherMayI = true;
}
...
基本上,字段motherMayI必须对某人读取或写入文件是正确的,并且在读取或写入文件时它唯一是错误的。
编辑:
public FileInputStream getFileInputStream() {
return context.openFileInput(file_name);
}
这需要APP
的实例。