我正在编写一个应用程序和一个需要数据的伴随小部件。该数据通过网络下载。我打算使用 IntentService 进行下载。该服务会将数据保存为文件。该文件随后被应用程序和小部件使用。
如何防止应用程序和小部件在服务写入文件时读取文件?
在应用程序或小部件读取文件时,如何防止服务写入文件?
谢谢!
我正在编写一个应用程序和一个需要数据的伴随小部件。该数据通过网络下载。我打算使用 IntentService 进行下载。该服务会将数据保存为文件。该文件随后被应用程序和小部件使用。
如何防止应用程序和小部件在服务写入文件时读取文件?
在应用程序或小部件读取文件时,如何防止服务写入文件?
谢谢!
考虑扩展Application
和声明一个用于读写权限的字段:
public class APP extends Application {
boolean motherMayI;
...
}
然后,每当您打开 aFileInputStream
或 aFileOutputStream
时,
...
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
.