• 0
Yuriy2606

API level 26 ??? Всё таки как выложить приложение на Play Market?

Вопросы

Здравствуйте коллеги.

Написал приложение с необходимостью разрешений LocalSensor, MediaLibrary, Read/Write Storage и т.д. С АПИ Левел 14 все работало на ура. Дошел до выкладки на Play Market и уперся в API level 26. Нашел решение для Tokio (у меня Berlin) - KastriFree ( https://www.delphiworlds.com/2018/06/targeting-android-8-and-higher-continued/)

попробовал реализовать как в статье и все равно не работает, приложение просто закрывается сразу после открытия. Ошибка I/O 17 в первом же месте обращения к файлам на карте памяти. Если в манифесте указать таргетлевел 14, то все нормально запускается и работает. Но такое приложение не пускает фильтр Play Marketa.

Что делать? Как быть?

И еще, думал скачать RAD 10.3 Community, получил на почту ключ, но на этапе установки после ввода ключа пишет, что не может обратиться к серверу.

Если кто знает ответ - дайте ссылку, пожалуйста.

Изменено пользователем Yuriy2606

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 ответа на этот вопрос

  • 0

@Yuriy2606, нужно динамически запрашивать необходимые разрешения у пользователя.

Наверное, правильнее будет установить 10.3 CE, там поддержка получения разрешений идет из коробки (модуль System.Permissions). Плюс 10.3 поддерживает android 9

Что касается получения ключа, то проверьте, что у вас в hosts и нет ли блокировки доступа bds.exe к Интернет на уровне антивируса

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
2 минуты назад, Tumaso сказал:

@Yuriy2606, нужно динамически запрашивать необходимые разрешения у пользователя

Большое спасибо за ответ. Еще раз внимательнее все проверив у меня все таки получилось динамически запросить разрешения при помощи KastriFree  в Berline
   

Запрос сделал так

 {cPermissionACCESS_COARSE_LOCATION = 'android.permission.ACCESS_COARSE_LOCATION';
    cPermissionACCESS_FINE_LOCATION = 'android.permission.ACCESS_FINE_LOCATION';
    cPermissionACCESS_NETWORK_STATE = 'android.permission.ACCESS_NETWORK_STATE';
    cPermissionCALL_PHONE = 'android.permission.CALL_PHONE';
    cPermissionCAMERA = 'android.permission.CAMERA';
    cPermissionINTERNET = 'android.permission.INTERNET';
    cPermissionREAD_EXTERNAL_STORAGE = 'android.permission.READ_EXTERNAL_STORAGE';
    cPermissionREAD_PHONE_STATE = 'android.permission.READ_PHONE_STATE';
    cPermissionWAKE_LOCK = 'android.permission.WAKE_LOCK';
    cPermissionWRITE_EXTERNAL_STORAGE = 'android.permission.WRITE_EXTERNAL_STORAGE'; }

 FRequester.RequestPermissions([cPermissionACCESS_FINE_LOCATION,cPermissionACCESS_COARSE_LOCATION,cPermissionREAD_EXTERNAL_STORAGE, cPermissionWRITE_EXTERNAL_STORAGE, cPermissionCAMERA], cPermissionsCodeExternalStorage);

Обработка так

procedure TForm1.PermissionsResultHandler(Sender: TObject; const ARequestCode: Integer; const AResults: TPermissionResults);
begin
  case ARequestCode of
    cPermissionsCodeExternalStorage:
    begin
      if AResults.AreAllGranted then
        DoShow; //Что-то делаем
      else
        ShowMessage('You need to grant all required permissions for the app to be able to take photos!');
    end;
    cPermissionsCodeSMS:
    begin
      if AResults.AreAllGranted then
        ShowMessage('SMS permissions granted')
      else
        ShowMessage('You need to grant all required permissions for the app to be able to handle SMS!');
    end;
  end;
end;

Там в коде примера KastriFree все описано более подробно

https://www.delphiworlds.com/2018/06/targeting-android-8-and-higher-continued/

Вот ссылка, это для тех, у кого Berlin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
13 минут назад, Tumaso сказал:

то проверьте, что у вас в hosts

Там всё закомментарено, нет ни одной открытой строчки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу