私は次のコードを持っています
AndroidデバイスからGoogleドライブに画像をアップロードすることになっています。
private void saveFileToDrive() {
progressDialog = ProgressDialog.show(this, "", "Loading...");
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
// File's binary content
java.io.File fileContent = new java.io.File(fileUri.getPath());
FileContent mediaContent = new FileContent("image/jpeg", fileContent);
// File's metadata.
File body = new File();
body.setTitle(fileContent.getName());
body.setMimeType("image/jpeg");
File file = service.files().insert(body, mediaContent).execute();
if (file != null) {
showToast("Photo uploaded: " + file.getTitle());
progressDialog.dismiss();
//startCameraIntent();
}
} catch (UserRecoverableAuthIOException e) {
startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION);
} catch (IOException e) {
e.printStackTrace();
}
}
});
t.start();
}
問題は、アップロードが終わらないことです。画像が大きすぎないので奇妙です
オリジナルの Drive アプリ経由でアップロードした方が、処理が速くなると思います。
1) アップロードの進行状況を表示するにはどうすればよいですか?
2) アップロードが完了した後、同じアクティビティ内でコールバックを行うにはどうすればよいですか?