Я работаю в проекте, который должен загрузить несколько аудиофайлов (.amr) на диск Google в определенную папку. Сейчас я иду через метод startIntentSender, чтобы показать средство выбора для выбора папки на диске. Для одного файла это работает нормально, но мне нужно отправлять несколько файлов одновременно без какого-либо средства выбора, и я должен отправить это в определенную папку, которую мне нужно указать в программе. Я много искал, но я запутался. Теперь Google Drive Api устарел. Есть ли способ для множественной загрузки?
Drive.DriveApi.newDriveContents(mGoogleApiClient)
.setResultCallback(new ResultCallback<DriveApi.DriveContentsResult>() {
@Override
public void onResult(DriveApi.DriveContentsResult result) {
if (!result.getStatus().isSuccess()) {
Log.i(TAG, "Failed to create new contents.");
return;
}
OutputStream outputStream = result.getDriveContents().getOutputStream();
try {
FileInputStream fileInputStream = new FileInputStream(mAllCallRecordFiles.get(i).getFilePath());
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = fileInputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
} catch (IOException e1) {
Log.i(TAG, "U AR A MORON! Unable to write file contents.");
}
MetadataChangeSet metadataChangeSet = new MetadataChangeSet.Builder()
.setMimeType("audio/*")
.build();
IntentSender intentSender = Drive.DriveApi
.newCreateFileActivityBuilder()
.setInitialMetadata(metadataChangeSet)
.setInitialDriveContents(result.getDriveContents())
.build(mGoogleApiClient);
try {
startIntentSender(intentSender, null, 0, 0, 0);
} catch (IntentSender.SendIntentException e) {
Log.i(TAG, "Failed to launch file chooser.");
}
}
})