Рассмотрите возможность расширения 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 должно быть истинным, чтобы кто-то мог прочитать или записать файл, и оно должно быть только ложным во время чтения или записи.
EDIT:
public FileInputStream getFileInputStream() {
return context.openFileInput(file_name);
}
Для этого потребуется экземпляр APP
.