Слушатель изменения файла на диске Android Google не работает

Я зарегистрировал прослушиватель изменений в файле Google Диска следующим образом:

DriveFile driveFile = Drive.DriveApi.getFile(mGoogleApiClient, mSelectedFileId);
driveFile.addChangeListener(mGoogleApiClient,changeListener);


 final private Listener<ChangeEvent> changeListener = new Listener<ChangeEvent>() {
    @Override
    public void onEvent(ChangeEvent event) {
        Toast.makeText(MainActivity.this, "File Changed", Toast.LENGTH_LONG).show();
    }
};

когда я изменяю содержимое файла через веб-браузер, вызывается прослушиватель изменений. Каков правильный способ прослушивания изменений файла диска?


person kirankk    schedule 01.04.2014    source источник


Ответы (1)


Я предполагаю, что вы имеете в виду, что прослушиватель изменений не вызывается.

Изменения, внесенные в Интернете, не сразу отразятся на устройстве. Это произойдет в следующий раз, когда устройство узнает об обновлениях. Вы можете ускорить это, взаимодействуя с API или вызывая requestSync.

person Cheryl Simon    schedule 01.04.2014
comment
Я безуспешно пытался реализовать это как на DriveFolder, так и на DriveFile. Просто не получая никаких хитов слушателя вообще. Пробовал возиться с «помеченным звездочкой» на веб-диске, изменяя как мета (заголовок), так и содержимое, используя методы GDAA в коде, requestSync(), но безрезультатно. Любые намеки на отладку этого? Настройка манифеста? - person seanpj; 11.04.2014
comment
Кроме того, согласно вашему комментарию, изменения, сделанные в Интернете, не будут немедленно отражены. Разве это не противоречит цели уведомлений? Мы говорим о миллисекундах или часах (по Wi-Fi)? - person seanpj; 11.04.2014
comment
Вы должны быть немедленно уведомлены об изменениях, внесенных в файл с того же устройства, пока у вас есть активный прослушиватель изменений. Если нет, значит, вы неправильно его настроили. Он не требует никаких настроек манифеста. - person Cheryl Simon; 12.04.2014
comment
Надеюсь в скором времени исправить, но не в этом дело. Чтобы получать уведомления об изменении с ТОГО ЖЕ устройства? Приложению это не нужно. Его нужно уведомлять, если изменение происходит на другом устройстве или в другом приложении, получающем доступ к тем же данным, верно? Или, по крайней мере, знать, что такое задержка. Заявления о латентности пока весьма неоднозначны. Например, каждый раз, когда другое устройство изменяет/удаляет файл, мне всегда приходится прибегать к опросу (с RESTful). Я надеялся на ту же задержку, что и в API в реальном времени. - person seanpj; 12.04.2014
comment
Есть ли шанс, что это работает для кого-нибудь? Пробую приведенный здесь демонстрационный пример Google.github.com/googledrive/android-demos/blob/master/src/com/google/ Невозможно просмотреть какие-либо действия даже после нескольких часов ожидания. - person Srikanth; 20.09.2014
comment
У меня точно такая же проблема. Мои журналы показывают, что это сработало хотя бы один раз, но я не могу узнать, когда это сработало, а когда нет... - person Nightscape; 16.06.2015