Я использую новый Google Drive Android API. Это демонстрационный код, который я скопировал из репозитория Google android-samples .
GoogleSignInAccount signInAccount = GoogleSignIn.getLastSignedInAccount(this);
if (signInAccount != null && signInAccount.getGrantedScopes().containsAll(requiredScopes)) {
initializeDriveClient(signInAccount);
}
else
{ ... }
Проблема, с которой я сталкиваюсь, заключается в том, что даже если я удаляю приложение с Диска, getLastSignedInAccount()
все еще возвращает учетную запись, а операции (например, добавление файла) над учетными записями все еще выполняются успешно. Полагаю, что возвращение объекта GoogleSignInAccount
возможно, но оно не должно разрешать операции с ним. Я дважды проверил в Drive, нет никаких файлов, добавляемых, когда API возвращает успех (так как я отменил связь приложения). Что здесь не так?
И да, это работало, когда я вручную синхронизировал учетную запись на моем устройстве. В этом случае, хотя getLastSignedInAccount()
возвратил объект, операции завершились неудачно.
PS: Я запрашиваю SCOPE_FILE
и SCOPE_APPFOLDER
области.