其他分享
首页 > 其他分享> > android – 谷歌驱动器修改日期错误的时间

android – 谷歌驱动器修改日期错误的时间

作者:互联网

我试图创建一个Android应用程序,其中使用谷歌驱动器来存储文件.现在想要通过任何设备检测同一文件中的更改.检测文件中的更改尝试使用以下代码获取文件的修改时间(使用新的google驱动器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());
        }
    }

解决方法:

我不知道你是否还在寻找答案,但我自己刚刚解决了这个问题.

事实证明,元数据是陈旧/缓存的,除非您首先打开相关文件.

因此,工作代码如下:

DriveFile file;

// Trick Google Drive into fetching the remote file
// which has the latest metadata
file.open( getGoogleApiClient(), DriveFile.MODE_READ_ONLY, null).await();

DriveResource.MetadataResult result = file.getMetadata(getGoogleApiClient()).await();
Metadata metadata = result.getMetadata();

// Get the modified date
metadata.getModifiedDate();

我希望这有助于其他人.

标签:android,google-drive-sdk,google-drive-android-api
来源: https://codeday.me/bug/20190703/1365860.html