Delphi FMX Android, файл копирования, проблема RequestPermissionsAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Delphi FMX Android, файл копирования, проблема RequestPermissions

Сообщение Anonymous »

У меня есть приложение, написанное на Delphi 12 FMX для Android. Я хочу скопировать файл из «/storage/emulated/0/Documents/калория_consumption.db» в «/data/user/0/com.embarcadero.CC/files/калория_consumption.db».
Мой код: следующим образом:

Код: Выделить всё

procedure TfrmMain.CopyDB(direction2download: Boolean);
var
f1, f2: String;
const

permRead = 'android.permission.READ_EXTERNAL_STORAGE';
permWrite = 'android.permission.WRITE_EXTERNAL_STORAGE';
begin
{$IFDEF ANDROID}
PermissionsService.RequestPermissions([permRead, permWrite],
procedure(const APermissions: TClassicStringDynArray; const AGrantResults: TClassicPermissionStatusDynArray)
begin
if (Length(AGrantResults) = 2) and (AGrantResults[0] = TPermissionStatus.Granted) and (AGrantResults[1] = TPermissionStatus.Granted) then
begin
dmCC.FDConnection.Connected := False;
f1 := TPath.Combine(TPath.GetDocumentsPath, 'calorie_consumption.db');
f2 := TPath.Combine(TPath.GetSharedDocumentsPath, 'calorie_consumption.db');
if direction2download then
begin
TFile.Copy(f2, f1, True);
memSQLTest.Lines.Add(f2 + ' -> ' + f1);
end else
begin
TFile.Copy(f1, f2, True);
memSQLTest.Lines.Add(f1 + ' -> ' + f2);
end;
dmCC.FDConnection.Connected := True;
end else
begin
TDialogService.ShowMessage('Permission not granted!');
end;
end);
{$ENDIF}
end;
В разрешениях на использование у меня для READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE установлено значение True.
Мой AndroidManifest.xml: Когда я пытаюсь выполнить код, он не запрашивает разрешение, но выдает ошибку:
Проект CC.apk вызвал класс исключения EFCreateError с сообщением ' Невозможно создать файл «/storage/emulated/0/Documents/калория_consumption.db». Разрешение отклонено».
Я испробовал все возможные варианты, включая компонент TMobilePermissions, но он не работает.
Может кто-нибудь поможет мне и укажет мне правильное направление?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ns-problem
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»