У меня открыт диск Google, и файлы можно выбрать. После нажатия кнопки подтверждения у меня появится ответ и позвоните по номеру InputStream
и начните читать файл. Это был мой код, который читал InputStream
.Google Drive: Xamarin - Android GetInputStream - может быть вызван только один раз на экземпляр контента
var pendingResult = driveFile.OpenAsync(GoogleApiClient, DriveFile.ModeReadOnly, this)
.ContinueWith((resultTask) =>
{
var driveContentResults = resultTask.Result;
var driveContent = driveContentResults.DriveContents;
if (_dialog != null && _dialog.IsShowing)
_dialog.Dismiss();
if (driveContentResults.Status.IsSuccess)
{
if (FileReadyCallback != null)
{
var length = driveContent.InputStream.Length;
//var data = new byte[length];
//driveContent.InputStream.Read(data, 0, data.Length);
//FileReadyCallback(this, data);
}
//var absolutePath = FileUtilities.SaveStreamToDownloadDirectory(driveContent.InputStream, Guid.NewGuid() + ".pdf");
//SendResultToCallingActivity(absolutePath);
}
});
Когда приложение достигло driveContent.InputStream.Length
, точка останова показал мне, что InputStream
можно назвать только один раз в Content Instance. В коде эта строка является первым вызовом входного потока.