Поиск…


Вступление

Манифест является обязательным файлом с именем точно «AndroidManifest.xml» и находится в корневом каталоге приложения. Он определяет имя приложения, значок, имя пакета Java, версию, объявление о действиях, службах, разрешениях приложений и другую информацию.

Объявление компонентов

Основная задача манифеста - информировать систему о компонентах приложения. Например, файл манифеста может объявлять действие следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<manifest ... >
    <application android:icon="@drawable/app_icon.png" ... >
        <activity android:name="com.example.project.ExampleActivity"
                  android:label="@string/example_label" ... >
        </activity>
        ...
    </application>
</manifest>

В элементе <application> атрибут android:icon указывает на ресурсы для значка, который идентифицирует приложение.

В элементе атрибут android:name указывает полное имя класса подкласса Activity, а атрибут android: label указывает строку, используемую в качестве видимой пользователем метки для этой активности.

Вы должны объявить все компоненты приложения таким образом:

- <activity> элементов для деятельности

- <service> элементы для служб

- элементы <receiver> для широковещательных приемников

- <provider> элементы для поставщиков контента

Службы, службы и поставщики контента, которые вы включаете в свой источник, но не объявляете в манифесте, не видны системе и, следовательно, никогда не могут работать. Однако широковещательные приемники могут быть либо объявлены в манифесте, либо созданы динамически в коде (как объекты BroadcastReceiver ) и зарегистрированы в системе, вызвав registerReceiver() .

Подробнее о том, как структурировать файл манифеста для вашего приложения, см. В документации на AndroidManifest.xml.

Объявление разрешений в файле манифеста

Любые разрешения, требуемые вашим приложением для доступа к защищенной части API или для взаимодействия с другими приложениями, должны быть объявлены в вашем файле AndroidManifest.xml . Это делается с помощью <uses-permission /> .

Синтаксис

 <uses-permission android:name="string"
    android:maxSdkVersion="integer"/>

android: name: Это имя требуемого разрешения

android: maxSdkVersion: самый высокий уровень API, на котором это разрешение должно быть предоставлено вашему приложению. Установка этого разрешения является необязательной и должна устанавливаться только в том случае, если требуется разрешение, требуемое вашему приложению на определенном уровне API.

Пример AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.samplepackage">
       
    <!-- request internet permission -->
    <uses-permission android:name="android.permission.INTERNET" />

    <!-- request camera permission -->
    <uses-permission android:name="android.permission.CAMERA"/>

    <!-- request permission to write to external storage -->
    <uses-permission
         android:name="android.permission.WRITE_EXTERNAL_STORAGE"
         android:maxSdkVersion="18" />

    <application>....</application>
</manifest>

* Также см. Раздел « Разрешения» .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow