假设我使用 Google Drive API 选择一个我想打开的文件。我有这样的代码:
// Getting the drive ID for the file
DriveId driveId = (DriveId) data
.getParcelableExtra(OpenFileActivityBuilder.EXTRA_RESPONSE_DRIVE_ID);
// Getting the selected file
DriveFile googleDriveFile = Drive.DriveApi.getFile(googleApiClient,
driveId);
googleDriveFile.open(googleApiClient, DriveFile.MODE_READ_ONLY,
null).setResultCallback(
new ResultCallback<DriveContentsResult>() {
@Override
public void onResult(DriveContentsResult result) {
if (result.getStatus().isSuccess()) {
有什么办法可以让我得到这个文件的文件名吗? (不是驱动器 ID,而是它的实际名称?)
我正在尝试验证所选文件(通过检查名称中的类型),除了获取名称之外,我想不出其他方法来执行此操作。类型是 .cblite,一个 Couchbase Lite 数据库文件。通常我只是按 MIME 类型过滤驱动器选择器,但 .cblite(据我所知)不是这些选项之一。相反,我尝试通过文件名进行验证。
有没有办法做到这一点? (或者有没有办法通过杂项/未识别的类型来过滤 MIME 类型?)
最佳答案
是的,一旦您拥有 DriveId,就可以获得元数据。元数据字段之一是 getTitle() ,它将为您提供文件/文件夹名称。看看这个代码 fragment :
DriveFile googleDriveFile = Drive.DriveApi.getFile(googleApiClient, driveId);
MetadataResult mdRslt = googleDriveFile .getMetadata(googleApiClient).await();
if (mdRslt != null && mdRslt.getStatus().isSuccess()) {
mdRslt.getMetadata().getTitle();
}
这里使用'await' flavor 是为了方便,它必须在ui 线程之外运行。或者只是将其变成回调样式。
祝你好运
关于android - 有没有办法使用 Google Drive API 获取文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28503418/