Следующие 2 фрагмента кода демонстрируют проблему, с которой я столкнулся при использовании НОВОГО Google Диска Android API/Google Play Services 4.2 (libver 15). Или это особенность, о которой я не знаю? Вся проверка ошибок и инициализация удалены, чтобы сделать код простым.
1/ Я создаю картинку MIME-типа "image/jpeg";
GoogleApiClient mGAC;
byte[] jpgBuffer;
DriveFolder fldr;
ContentsResult rslt = Drive.DriveApi.newContents(mGAC).await();
Contents cont = rslt.getContents();
cont.getOutputStream().write(jpgBuffer);
MetadataChangeSet meta = new MetadataChangeSet.Builder()
.setTitle("foo.jpg").setMimeType("image/jpeg")
.build();
fldr.createFile(mGAC, meta, cont);
На Драйве все красиво и модно. Изображение есть, выглядит отлично, могу даже маме отправить. Но это не то, что мне нужно. Я хотел бы получить его в другой части моего приложения для Android.
2/ Итак, я пробую это:
Query query = new Query.Builder().addFilter(
Filters.eq(SearchableField.MIME_TYPE, "image/jpeg")
).build();
MetadataBufferResult rslt = Drive.DriveApi.query(mGAC, query).await();
for (Metadata md : rslt.getMetadataBuffer()) {
Log.d("TAG", md.getTitle() + " " + md.getMimeType());
}
Результат: большое, жирное НИЧТО.
Я не сдаюсь, поэтому следующим логическим шагом будет поиск ЛЮБОГО файла. И файл «foo.jpg», который я сохранил на шаге 1/, отображается как MIME-тип «image/png».