у меня есть функция и работает нормально! но его пропуск идентификатора диска? что, если идентификатор диска удален или уничтожен!
есть ли у них способ найти идентификатор диска?
я столкнулся с трудностями в таком сценарии
- пользователь повторно присоединится к моему приложению или сменит устройство
- если я пропустил свой идентификатор диска из общих настроек
================================================== ===== моя рабочая функция
readFromGooDrive(DriveId mDriveId) {
byte[] buf = null;
if (getGoogleApiClient() != null && getGoogleApiClient().isConnected()) try {
DriveFile df = Drive.DriveApi.getFile(getGoogleApiClient(), mDriveId);
df.open(getGoogleApiClient(), DriveFile.MODE_READ_ONLY, null)
.setResultCallback(new ResultCallback<DriveContentsResult>() {
@Override
public void onResult(DriveContentsResult driveContentsResult) {
if ((driveContentsResult != null) && driveContentsResult.getStatus().isSuccess()) {
DriveContents contents = driveContentsResult.getDriveContents();
BufferedInputStream bis = new BufferedInputStream(contents.getInputStream());
byte[] buffer = new byte[1024];
int bytesread = 0;
FileOutputStream outStream;
try
{
String databasePath = getBaseContext().getDatabasePath("my database").getPath();
outStream = new FileOutputStream(databasePath);
while( (bytesread = bis.read(buffer)) != -1)
{
outStream.write(buffer,0,bytesread);
}
outStream.flush();
bis.close();
outStream.close();
}
catch (FileNotFoundException e)
{
Log.i(TAG,e.getMessage());
}
catch (IOException e)
{
Log.i(TAG,e.getMessage());
}
finally {
Toast.makeText(getBaseContext(),"Data from Google Drive restored successfully." , Toast.LENGTH_LONG).show();
}
contents.discard(getGoogleApiClient());
}
}
});
} catch (Exception e) { e.printStackTrace(); }
}
DriveId
будет удален? - person Teyam   schedule 27.09.2016