【问题标题】:Android Google Drive - folder change listenerAndroid Google Drive - 文件夹更改监听器
【发布时间】:2018-10-30 13:15:01
【问题描述】:

我注意到在新的 Google Drive API (v2) 和 Google Play Services (04.03.23) 中有 change listeners to receive notifications whenever a specified file or folder has changes to its contents or metadata。如何将其用作侦听器以侦听整个 appdata 文件夹(仅用于应用程序数据的文件夹)中的更改?提前感谢您的帮助。

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

DriveFile file = Drive.DriveApi.getFile(mGoogleApiClient, mSelectedFileId);
file.removeChangeListener(mGoogleApiClient, changeListener);

final private Listener<ChangeEvent> changeListener = new Listener<ChangeEvent>() 
 {
 @Override
 public void onEvent(ChangeEvent event) 
     {
     mLogTextView.setText(String.format("File change event: %s", event));
     }
 };

【问题讨论】:

    标签: android listener google-drive-android-api


    【解决方案1】:

    您需要在.addChangeListener.removeChangeListener 呼叫中调用.await().setResultCallback() 才能激活它们。这不包含在 Drive 网站上;我已经给他们写了post

    您可以在之后检查调用的返回状态,以确保它已正确设置(在应用程序文件夹上设置侦听器似乎不起作用,至少在我的情况下)。

    【讨论】:

      【解决方案2】:

      我找到了解决办法:

      DriveFolder folder = Drive.DriveApi.getFolder(mGoogleApiClient,Drive.DriveApi.getRootFolder(googleApiClient).getDriveId());
      folder.addChangeListener(mGoogleApiClient, changeListener);
      

      【讨论】:

      • 我不确定这是否只是我的问题,但听众需要很长时间才能注意到发生了一些变化。
      • 我一直在尝试为文件和文件夹实现侦听器,但没有成功。没有错误消息,一切都与 DEMO 中的完全一样,但从未命中回调。有任何想法吗?它在您的环境中工作吗?哪些变化会引起反应?
      • 对我来说它正在工作,但有延迟。它已被其他设备的文件更新触发。
      • 延迟了多长时间直到 onChange 被触发?在本地设备上,我立即获得了 onChange(没有帮助)。在远程设备上,我等了 10 分钟,仍然没有。
      猜你喜欢
      • 1970-01-01
      • 2012-03-26
      • 2021-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多