2016-08-31 5 views
2

Я пытаюсь создать приложение, которое открывает папку Диска и позволяет пользователю выбирать файл (Лист, документ или слайд) и откройте его, используя API Google Диска, но я не знаю, как определить тип файла, я пытался использовать метаданные, как это предлагает официальная демонстрация API, но я не мог заставить его работать.Знайте тип документа Google (лист, слайд или документ) без использования метаданных, Android Google Drive Api

Я пробовал следующий код, но он не работает:

DriveId driveId = (DriveId) data.getParcelableExtra(
     OpenFileActivityBuilder.EXTRA_RESPONSE_DRIVE_ID); 

Intent mainIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://docs.google.com/document/d/" + driveId.getResourceId())); 

try { 
    startActivity(mainIntent); 
}catch (Exception e) { 

    mainIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://docs.google.com/spreadsheet/d/" + driveId.getResourceId())); 

    try{ 
     startActivity(mainIntent); 
    }catch(Exception e1){ 

     mainIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://docs.google.com/slide/d/" + driveId.getResourceId())); 

    } 
} 
} 
finish(); 

Если я пытаюсь открыл документ, он работает, но при попытке открыть таблицу он терпит неудачу, потому что намерение правильно запущен, но документ не найден.

Есть ли другой способ узнать тип документа, чтобы использовать правильный URL-адрес для открытия? О, как я должен правильно использовать метаданные, чтобы открыть его?

Спасибо.

ответ

1

Вы можете получить тип файла, позвонив по телефону DriveFile из DriveId. Более подробную информацию вы можете найти в разделе документации File Metadata.

OpenFileActivityBuilder потерпит неудачу, так как вы звоните startActivity (как указано в Google API)

Примечание: Вы не можете использовать #startActivity вызвать активность. Это не удастся.

Используйте IntentSender от застройщика, чтобы начать деятельность по телефону startIntentSenderForResult (наряду с другими необходимыми обратных вызовов)

 Смежные вопросы

  • Нет связанных вопросов^_^