Главная » Разработка для Android » Объявление и обеспечение полномочий

0

Прежде  чем назначить  полномочие  для компонента  приложения, не- обходимо объявить  его в манифесте,  используя тег <permission>, как показано в листинге 15.1.

Листинг 15.1. Объявление нового полномочия

<permission android:name="com.paad.DETONATE_DEVICE" android:protectionLevel="dangerous" android:label="Self Destruct" android:description="@string/detonate_description">

</permission>

Внутри данного тега вы можете задать уровень доступа, предоставляе- мого полномочием (normal, dangerous, signature, signatureOrSystem), метку, а также внешний  ресурс, содержащий  описание  рисков, которыми  сопро- вождается выдача этого полномочия.

Чтобы задать требования к полномочиям для собственных программных компонентов,  используйте атрибут  permission в манифесте  приложе- ния. Такие ограничения могут распространяться на все ваше приложение целиком, хотя наиболее полезны в связке с внешними  программными ин- терфейсами.

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

• Приемники широковещательных намерений. Следите  за тем, какое приложение может слать Широковещательные намерения в ваш При- емник.

• Источники данных. Ограничивайте доступ к Источникам данных на чтение/запись.

• Сервисы. Ограничивайте возможность запускать  Сервис или связы- ваться с ним из других приложений.

В каждом из этих случаев вы можете добавить  атрибут  permission к компоненту  приложения в манифесте,  указав строку, описывающую  не- обходимое полномочие; таким образом, отрегулируете доступ к нему. В ли- стинге 15.2 показан фрагмент манифеста, в котором описывается требование полномочия, заданного в листинге 15.1. Без выполнения этого требования Активность не запустится.

Листинг 15.2. Запрос полномочий у Активности

<activity android:name=".MyActivity" android:label="@string/app_name" android:permission="com.paad.DETONATE_DEVICE">

</activity>

С помощью Источников данных можно задавать атрибуты для readPermission и writePermission, благодаря  чему вы можете более тонко контролировать доступ к чтению и записи.

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии