Я делаю службу, которая следит за изменениями файла, используя стабильную RecursiveFileObserver
, этому наблюдателю файла присваивается наблюдение за файлом. Модификации (FileObserver.MODIFY
) ... Что я хочу этого наблюдателя сделать onEvent
- изменить значение файла до того, что было до его изменения. Итак, цикл:Чтение/получение показаний файла до его изменения
Начало обслуживания и запуск наблюдателяWatching -> Файл изменен X -> My Observer изменяет это на все он был до того, как был изменен на X ...
Итак, все, что мне нужно, - это способ прочитать значение файла перед его заменой на X.
Так может кто-нибудь мне помочь в этом, и возможно ли это?
Это фрагмент того, что я пытаюсь сделать ...
@Override
public void onEvent(int event, String path) {
// TODO Auto-generated method stub
super.onEvent(event, path);
if(event != MODIFY){
return;
}
if (CoresManagement.isAccessAllowed()){ //If the access is allowed , doesn't do anything ...
return;
}
//Here is where I want to do what I said above
if (path == "le Wild Location"){
modifyFile("le Wild Location" , "Here is the value I want to know , the old value ");
}
пожалуйста, если вы найдете что-нибудь неясное я могу уточнить!
Это то, что я делаю, но цель этого заключается в том, что я хочу, чтобы мое приложение меняло этот файл, а другие, включая систему, меняли его ... И эта процедура предназначена для части ограничения процесс, из-за которого вы видите 'if (CoresManagement.isAccessAllowed()'), доступ разрешен после того, как мое приложение попытается изменить файл, после его завершения оно не разрешает ... и, по моему мнению, запретить, я имею в виду чтобы изменить файл до того, что он был до того, как кто-либо будет изменен, и для этого мне нужно как-то заново прочитать файл перед его изменением. – Seaskyways
Можете ли вы создать частный файл? вы можете использовать метод openFileOutput ("filename", MODE_PRIVATE) – blganesh101
файл, который я изменяю, находится в каталоге/sys, и только корень и система могут его изменить, поэтому для изменения файла я использую классические команды оболочки (su, echo, cat ....) ... Так что no – Seaskyways