【发布时间】:2014-02-15 12:29:36
【问题描述】:
我正在尝试创建一个使用谷歌驱动器存储文件的 android 应用程序。现在想通过任何设备检测同一文件中的更改。为了检测文件中的更改尝试使用以下代码获取文件的修改时间(使用新的 google drive api for android)https://developers.google.com/drive/android/get-started
DriveFile file = Drive.DriveApi.getFile(mGoogleApiClient, fileId);
Metadata fmd = file.getMetadata(mGoogleApiClient).await().getMetadata();
Log.e("modified date",""+fmd.getModifiedDate());
但它给出的修改时间总是错误的。当其他设备(使用相同的应用程序)修改相同的文件时,它不会返回修改的时间。 有没有其他方法可以检测文件的变化???谢谢
我也使用下面的代码,但没有运气
DriveFile file = Drive.DriveApi.getFile(mGoogleApiClient, fileId);
file.getMetadata(mGoogleApiClient).addResultCallback(new DemoClassForHandleCallBack());
public class DemoClassForHandleCallBack implements OnMetadataRetrievedCallback{
@Override
public void onMetadataRetrieved(MetadataResult result) {
boolean isSuccess = result.getStatus().isSuccess();
Log.i("is success",""+isSuccess);
Metadata fmd = result.getMetadata();
Log.e("modified date",""+fmd.getModifiedDate());
}
}
【问题讨论】:
-
您是否检查了元数据是否被成功获取(在使用 ResultCallback 时)?
-
是的,我检查过了,它总是返回成功 (Status{statusCode=SUCCESS, resolution=null}) thnx 寻求帮助
-
你是从onConnected方法调用getFile吗?
-
不,我是在从 ConnectionCallbacks 获取回调后执行此操作,但不是在 onConnected() 方法中,如果我想上传文件,它的工作正常,我认为它与 onConnected bcus 无关,只需使用 getModifiedDate( )
-
在onConnected()方法中试试吧
标签: android google-drive-api google-drive-android-api