1
我正在使用Google驅動器API。當第一次運行我的應用程序時,用戶驗證我的應用程序,然後在Google Drive的根目錄中創建一個文件夾,讓說文件夾名稱爲「我的文件夾」。該應用程序工作正常,直到用戶從Android中的「Google設置」應用程序斷開應用程序。斷開連接後,用戶再次打開應用程序並再次授權該應用程序,並再次使用不同的ID創建具有類似名稱「我的文件夾」的另一個文件夾。我不想,如果存在,它再次創建該文件夾,並希望得到它的ID沒有要求的所有文件的根文件夾並遍歷列表如果已經存在,則不要創建文件夾並返回文件夾ID
@Override
protected void onActivityResult(final int requestCode,
final int resultCode, final Intent data) {
switch (requestCode) {
case REQUEST_ACCOUNT_PICKER:
if (resultCode == RESULT_OK && data != null
&& data.getExtras() != null) {
String accountName = data
.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
if (accountName != null) {
credential.setSelectedAccountName(accountName);
service = getDriveService(credential);
SharedPreferences preferences = getSharedPreferences(
"pref", MODE_PRIVATE);
preferences.edit().putString("accountName", accountName)
.commit();
}
}
break;
case REQUEST_AUTHORIZATION:
if (resultCode == Activity.RESULT_OK) {
new Thread(new Runnable() {
@Override
public void run() {
File body = new File();
body.setTitle("My Folder");
body.setMimeType("application/vnd.google-apps.folder");
try {
File file = service.files().insert(body).execute();
String id = file.getId();
MyUtilities.saveInSharedPreference("drivefolderid",
id, ImportWizard.this);
Log.v("folder id ", "==>>" + id);
} catch (UserRecoverableAuthIOException e) {
e.printStackTrace();
startActivityForResult(e.getIntent(),
REQUEST_AUTHORIZATION);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
} else {
startActivityForResult(credential.newChooseAccountIntent(),
REQUEST_ACCOUNT_PICKER);
}
break;
}
}