0

我正在编写一个应用程序和一个需要数据的伴随小部件。该数据通过网络下载。我打算使用 IntentService 进行下载。该服务会将数据保存为文件。该文件随后被应用程序和小部件使用。

如何防止应用程序和小部件在服务写入文件时读取文件?

在应用程序或小部件读取文件时,如何防止服务写入文件?

谢谢!

4

1 回答 1

1

考虑扩展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.

于 2012-03-30T13:05:54.577 回答