Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:应用程序重新安装后,在应用程序文件夹中找不到上载的文件_Android_Google Drive Api - Fatal编程技术网

Android:应用程序重新安装后,在应用程序文件夹中找不到上载的文件

Android:应用程序重新安装后,在应用程序文件夹中找不到上载的文件,android,google-drive-api,Android,Google Drive Api,我已经在我的应用程序中实现了谷歌硬盘备份 我将备份上传到应用程序文件夹。但在我重新安装应用程序后,它无法找到新创建的文件 我想这有什么解决办法吗 谢谢。卸载应用程序也会删除应用程序文件夹中的数据,但我猜Android和其他客户端API上也会发生同样的情况。卸载应用程序也会删除应用程序文件夹中的数据,但我猜Android和其他客户端API上也会发生同样的情况。我做了以下工作: 我使用requestSync(GoogleAppClient) 然后,在其回调中,我使用drive.DriveApi.qu

我已经在我的应用程序中实现了谷歌硬盘备份

我将备份上传到
应用程序文件夹
。但在我重新安装应用程序后,它无法找到新创建的文件

我想这有什么解决办法吗


谢谢。

卸载应用程序也会删除应用程序文件夹中的数据,但我猜Android和其他客户端API上也会发生同样的情况。

卸载应用程序也会删除应用程序文件夹中的数据,但我猜Android和其他客户端API上也会发生同样的情况。

我做了以下工作:

  • 我使用
    requestSync(GoogleAppClient)
  • 然后,在其回调中,我使用
    drive.DriveApi.query(GoogleApiClient,query)
  • 然后,在其回调中(如果找到),检索该文件
  • 工作完成了 下面为感兴趣的人提供了这个片段

    @Override
    public void onConnected(Bundle connectionHint) {
        super.onConnected(connectionHint);
        Drive.DriveApi.requestSync(getGoogleApiClient()).setResultCallback(syncCallback);
    }
    
    final private ResultCallback<Status> syncCallback = new ResultCallback<Status>() {
        @Override
        public void onResult(@NonNull Status status) {
            if (!status.isSuccess()) {
                showMessage("Problem while retrieving results");
                return;
            }
            query = new Query.Builder()
                    .addFilter(Filters.and(Filters.eq(SearchableField.TITLE, "title"),
                            Filters.eq(SearchableField.TRASHED, false)))
                    .build();
            Drive.DriveApi.query(getGoogleApiClient(), query)
                    .setResultCallback(metadataCallback);
        }
    };
    
    final private ResultCallback<DriveApi.MetadataBufferResult> metadataCallback =
            new ResultCallback<DriveApi.MetadataBufferResult>() {
        @SuppressLint("SetTextI18n")
        @Override
        public void onResult(@NonNull DriveApi.MetadataBufferResult result) {
            if (!result.getStatus().isSuccess()) {
                showMessage("Problem while retrieving results");
                return;
            }
    
            MetadataBuffer mdb = result.getMetadataBuffer();
            for (Metadata md : mdb) {
                Date createdDate = md.getCreatedDate();
                DriveId driveId = md.getDriveId();
            }
    
            readFromDrive(driveId);
        }
    };
    
    @覆盖
    未连接的公共无效(捆绑连接提示){
    super.onConnected(connectionHint);
    Drive.DriveApi.requestSync(getGoogleAppClient()).setResultCallback(syncCallback);
    }
    最终私有ResultCallback syncCallback=新ResultCallback(){
    @凌驾
    public void onResult(@NonNull状态){
    如果(!status.issucess()){
    showMessage(“检索结果时出现问题”);
    返回;
    }
    query=newquery.Builder()
    .addFilter(Filters.and(Filters.eq(SearchableField.TITLE,“TITLE”),
    Filters.eq(SearchableField.TRASHED,false)))
    .build();
    Drive.DriveApi.query(getGoogleAppClient(),query)
    .setResultCallback(metadataCallback);
    }
    };
    最终私有结果回调metadataCallback=
    新的ResultCallback(){
    @SuppressLint(“SetTextI18n”)
    @凌驾
    public void onResult(@NonNull DriveApi.MetadataBufferResult result){
    如果(!result.getStatus().issucess()){
    showMessage(“检索结果时出现问题”);
    返回;
    }
    MetadataBuffer mdb=result.getMetadataBuffer();
    for元数据(md:mdb){
    日期createdDate=md.getCreatedDate();
    DriveId DriveId=md.getDriveId();
    }
    readFromDrive(驱动器ID);
    }
    };
    
    谢谢你的帮助

    我做了以下工作:

  • 我使用
    requestSync(GoogleAppClient)
  • 然后,在其回调中,我使用
    drive.DriveApi.query(GoogleApiClient,query)
  • 然后,在其回调中(如果找到),检索该文件
  • 工作完成了 下面为感兴趣的人提供了这个片段

    @Override
    public void onConnected(Bundle connectionHint) {
        super.onConnected(connectionHint);
        Drive.DriveApi.requestSync(getGoogleApiClient()).setResultCallback(syncCallback);
    }
    
    final private ResultCallback<Status> syncCallback = new ResultCallback<Status>() {
        @Override
        public void onResult(@NonNull Status status) {
            if (!status.isSuccess()) {
                showMessage("Problem while retrieving results");
                return;
            }
            query = new Query.Builder()
                    .addFilter(Filters.and(Filters.eq(SearchableField.TITLE, "title"),
                            Filters.eq(SearchableField.TRASHED, false)))
                    .build();
            Drive.DriveApi.query(getGoogleApiClient(), query)
                    .setResultCallback(metadataCallback);
        }
    };
    
    final private ResultCallback<DriveApi.MetadataBufferResult> metadataCallback =
            new ResultCallback<DriveApi.MetadataBufferResult>() {
        @SuppressLint("SetTextI18n")
        @Override
        public void onResult(@NonNull DriveApi.MetadataBufferResult result) {
            if (!result.getStatus().isSuccess()) {
                showMessage("Problem while retrieving results");
                return;
            }
    
            MetadataBuffer mdb = result.getMetadataBuffer();
            for (Metadata md : mdb) {
                Date createdDate = md.getCreatedDate();
                DriveId driveId = md.getDriveId();
            }
    
            readFromDrive(driveId);
        }
    };
    
    @覆盖
    未连接的公共无效(捆绑连接提示){
    super.onConnected(connectionHint);
    Drive.DriveApi.requestSync(getGoogleAppClient()).setResultCallback(syncCallback);
    }
    最终私有ResultCallback syncCallback=新ResultCallback(){
    @凌驾
    public void onResult(@NonNull状态){
    如果(!status.issucess()){
    showMessage(“检索结果时出现问题”);
    返回;
    }
    query=newquery.Builder()
    .addFilter(Filters.and(Filters.eq(SearchableField.TITLE,“TITLE”),
    Filters.eq(SearchableField.TRASHED,false)))
    .build();
    Drive.DriveApi.query(getGoogleAppClient(),query)
    .setResultCallback(metadataCallback);
    }
    };
    最终私有结果回调metadataCallback=
    新的ResultCallback(){
    @SuppressLint(“SetTextI18n”)
    @凌驾
    public void onResult(@NonNull DriveApi.MetadataBufferResult result){
    如果(!result.getStatus().issucess()){
    showMessage(“检索结果时出现问题”);
    返回;
    }
    MetadataBuffer mdb=result.getMetadataBuffer();
    for元数据(md:mdb){
    日期createdDate=md.getCreatedDate();
    DriveId DriveId=md.getDriveId();
    }
    readFromDrive(驱动器ID);
    }
    };
    

    谢谢你的帮助

    谢谢@adjuremods。但不完全如此。有关更多信息,请参阅我已接受的答案。谢谢@adjuremods。但不完全如此。更多信息请参考我的答案。非常感谢。它对我有用。我在这个问题上坚持了大约两天(非常感谢。这对我很有效。我在这个问题上坚持了大约两天。)(