<service>

СИНТАКСИС:
СОДЕРЖИТСЯ В:
<application>
МОЖЕТ СОДЕРЖАТЬ:
<intent-filter>
<meta-data>
ОПИСАНИЕ:

Объявляет сервис (подкласс Service) как компонент приложения. В отличие от явлений, сервисы не предоставляют пользовательский интерфейс. Они используются для длительных фоновых операций или взаимодействия с API, которые могут быть вызваны другими приложениями.

Все сервисы приложения должны быть объявлены в манифесте с помощью элемента <service>, иначе они будут невидимы для системы и никогда не будут запущены.

АТРИБУТЫ:
android:enabled

Указывает может ли сервис быть создан системой, true – если может и false – если нет. Значение по умолчанию true.

Элемент <application> имеет собственный атрибут enabled, который применяется для всех компонентов приложения. Атрибуты обоих элементов <application> и <service> должны быть равны true (это их значение по умолчанию). Если в одном из элементов будет указано значение false, сервис не сможет быть создан.

android:exported

Указывает, могут ли компоненты других приложений вызывать сервис и взаимодействовать с ним: true если может. Если указано значение false, только компоненты приложения или приложения с таким же идентификатором пользователя смогут работать с сервисом.

Значение по умолчанию зависит от того, содержит ли сервис фильтры намерений. Отсутствие фильтров подразумевает, что сервис предназначен только для внутреннего пользования (если, конечно, другие не знают его имя). В таком случае значение по умолчанию "false". С другой стороны, наличие хотя бы одного фильтра означает, что сервис предназначен для внешнего применения, и значение по умолчанию равно true.

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

android:icon

Иконка сервиса. Атрибут должен содержать ссылку на ресурс типа drawable с изображением. Если иконка для сервиса не установлена, будет использована иконка, указанная в атрибуте android:icon элемента <application>.

Иконка, указанная в этом атрибуте, является также иконкой по умолчанию для всех фильтров намерений (смотрите элемент <intent-filter>).

android:isolatedProcess

Если значение равно true, сервис будет запущен в специальном процессе, изолированном от остальной системы и не имеет собственных разрешений. Взаимодействие возможно только через Service API (связывание и запуск).

android:label

Заголовок сервиса, который виден пользователю. Если атрибут не установлен, будет использоваться значение атрибута label элемента <application>.

Заголовок, указанный в атрибуте, является также заголовком по умолчанию для всех фильтров намерений (смотрите элемент <intent-filter>).

Атрибут должен содержать ссылку на строковый ресурс, это поможет локализовать приложение. Однако во время разработки временно можно установить в качестве значения простую строку.

android:name

Имя класса (подкласс Service), который реализует данный сервис. Значение атрибута должно содержать полное имя, включая название пакетв (например, com.example.project.RoomService). Тем не менее, в качестве сокращения, если первый символ названия точка (например, .ExtracurricularActivity), к нему будет добавлено имя пакета, указанное в элементе <manifest>

После публикации приложения, вы не должны менять значение этого атрибута (если только не установили атрибуте android:exported="false").

Атрибут не имеет значения по умолчанию и имя должно быть явно указано.

android:permission

Название разрешения, которое должен иметь компонент для запуска сервиса. Если компонент, вызывающий методы startService(), bindService() или stopService() не получил разрешение, метод не будет работать и сервис не получит объект Intent.

Если атрибут не установлен, применяется разрешение элемента <application>. Если атрибут не установлен в обоих элементах, сервис не защищен разрешением.

Подробнее в разделах Разрешения и Безопасность и разрешения.

android:process

Имя процесса, в котором сервис должен быть запущен. Как правило, все компоненты приложения запускаются в процессе по умолчанию, созданным для приложения и задавать этот атрибут не требуется. Но если необходимо, вы можете задать другое имя процесса, что позволит распределить компоненты вашего приложения между несколькими процессами.

Если имя, указанное в атрибуте начинается с двоеточия “:”, новый процесс, частный для приложения, создается при необходимости и сервис работает в нем. Если имя процесса начинается с маленькой буквы, сервис будет запущен в глобальном процессе с указанным именем, при условии, что оно имеет разрешение. Это позволяет компонентам различных приложений использовать общий процесс, снижая расход ресурсов.

ДОБАВЛЕНО:
уровень API 1
СМОТРИТЕ ТАКЖЕ:
<application>
<activity>

Добавить комментарий