Перейти к содержанию
Fire Monkey от А до Я
  • 0

[Android] Как изменить область разрешений (Permissions) приложению?


Igor

Вопрос

При установке приложения появляется список "Разрешить этому приложению", в данном списке куча всего казалось бы моему приложению не требуемого, в том числе: "Платные услуги".

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

 

Подумал может в deployment где-то это, или в uses надо что-то убрать, но не знаю чего, нагуглить тоже не выходит.

 

Помогите пожалуйста.

 

Список:

  • Ваше местоположение
  • Сетевой обмен данными
  • Личная информация
  • Память
  • Телефонные вызовы
  • Управление оборудованием
  • Платные услуги (Посылать прямые вызовы на номера телефонов)

и ещё под скрыть:

  • Инструменты разработки (Проверьте доступ к защищенному хранилищу) - это может в режиме дэбага такое, если нет, то как убрать тоже не пойму..

P.S.:

 

Из всего перечисленного кажется нужно только: 

  • Память, т.к. создаю txt файл и сохраняю в него данные (да и нужно ли для этого такое разрешение?)

Возможно ещё, но вряд ли:

  • Личная информация, для определения времени на устройстве, но думаю это не то, и время и так определяется.
Ссылка на комментарий

Рекомендуемые сообщения

  • 0
  • Модераторы

Андроид требует от приложений, чтобы они сообщали, какой функционал устройства будут использовать при работе.

Чтобы использовать какой-то функционал, необходимо запросить разрешение (дать права) у системы. Сделать это можно в окне «Uses Permissions»(Project > Options > Uses Permissions).

 

Более подробно можно почитать в справке http://docwiki.embarcadero.com/RADStudio/XE6/en/Uses_Permissions

Ссылка на комментарий
  • 0

Почему-то сетевой обмен данными не пропал из разрешений и инструменты разработчика, но инструменты полагаю из-за того, что не релиз, но полный доступ к сети почему не ушёл? не стоит галки нигде кроме Write external storage

Ссылка на комментарий
  • 0
  • Модераторы

Проверил в XE6 Upd1, подтверждаю, баг вернулся…
Закрытые рапорты в QC – Оригинал 119595 Дубликат 123891

Как их снова открыть я не знаю (может новый завести?!), тут помочь могут только представители Embarcadero.


p.s. Я уже начал составлять свой собственный список багов (уже 8 штук набралось) :) , посмотрю когда их исправят…

Ссылка на комментарий
  • 0

Могу ошибаться, но как вариант может быть в каком-то файле проекта можно пока подтереть нужную строку или дописать
.
Как например из-за отсутствия вкладки ориентации (формфактора), чтобы заблокировать смену ориентации (оставив только вертикальную) в файле .dpr вписывается:

Application.FormFactor.Orientations := [TFormOrientation.Portrait];

после

Application.Initialize;

Хм, кстати нашёл кажется, в файле .dproj
есть строка:

<AUP_WRITE_EXTERNAL_STORAGE>true</AUP_WRITE_EXTERNAL_STORAGE>

похоже это то, что как раз у меня стоит и стоять должно, осталось найти только то, что стоит, но не должно)

Ссылка на комментарий
  • 0
  • Модераторы

Вот временное решение (вписываем разрешения вручную):

Открываете файл AndroidManifest.template.xml, находите строчку <%uses-permission%>, удаляете её и вместо неё вписываете вручную необходимые разрешения, компилите проект и всё тип-топ.

 

Вот примеры:

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_CALENDAR" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.WRITE_CALENDAR" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Ссылка на комментарий
  • 0
  • Модераторы

По поводу "Бага".

Я создал рапорт в QC 127007 и там разъяснили ситуацию.

Это не баг, подробности читайте тут http://docwiki.embarcadero.com/RADStudio/XE6/en/Release_Notes_for_XE6#INTERNET_Permission_Always_Set_for_Debug_Configuration_on_Android.

 

Разрешение на Интернет необходимо в режиме отладки.

Ссылка на комментарий
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...