Manifest file
Why we Used Manifest file in android App ?
Explain:-the manifest file in its root Directory. Must every application Manifest File.The
manifest file provide all essential information about your app to the android
system.
1.
Its name the java package for the application
.package name serves as a unique identifier for the application.
2.
Described the components of the application,
which include the activites,services,broadcast receivers, and content providers
.
3.
The classes that implement each of the
components and publishes the capabilities.
4.
It determines the processes that host the
application component.
5.
Declares the permissions that the application
must have in order to access protected parts of the API and interact with other
application.
6.
It declares the minimum level of the Android API
that the application requires.
Here is an example of the Manifest file.
xml version=”1.” Encoding=”utf-8”?> <manifest> <uses-permission /> <permission /> <permission- group /> <instrumentation /> <uses-sdk /> <uses-configuraton /> <uses-feature /> <support-screen /> <support-gl-texture /> <application > <activity> <intent-filter> <action /> <category /> <data /> </intent-filter> </activity> <activity–alias> <intent-filter /> < Meta-data /> </activity–alias> <service> <intent-filter /> <mete-data /> </service>
<receiver>
<intent-filter />
<meta-data />
</receiver>
<provider >
<grant-uri-permission/>
<path-permission />
<meta-data />
</provider>
<uses-library />
</application>
</manifest>
Action
Add action to an intent filter .for eg
<intent-filter>
<action android:name="android.intent.action.EDIT" />
<action android:name="android.intent.action.INSERT" />
<action android:name="android.intent.action.DELETE" />
</intent-filter>
<action android:name="android.intent.action.EDIT" />
<action android:name="android.intent.action.INSERT" />
<action android:name="android.intent.action.DELETE" />
</intent-filter>
An element must contain multiple
element.
But to assigine
one of these action to the attribute
<action android:name="com.example.project.TRANSMOGRIFY"
/>
Activity-alias
The target must be
in the same Application as the alias and it must be declared before the alias
in the manifest.
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permission="string"
android:targetActivity="string" >
. . .
Category
Adds a category name to an intent filter. See Intents
and Intent Filters for details on intent filters and the role of category
specifications within a filter.
Syntax-
<category android:name="string"
/>
Data
The specification can be just a data type (the
mimeType attribute), just a URI, or both a data type and a URI.
Syntax-
<data android:scheme="string"
android:host="string"
android:port="string"
android:path="string"
android:pathPattern="string"
android:pathPrefix="string"
android:mimeType="string" />
android:host="string"
android:port="string"
android:path="string"
android:pathPattern="string"
android:pathPrefix="string"
android:mimeType="string" />
Grant-URI-Permission
Data subsets are indicated by the path part of a content:
URI. (The authority part of the URI identifies the content provider.) Granting
permission is a way of enabling clients of the provider that don't normally
have permission to access its data to overcome that restriction on a one-time
basis.
Syntax-
<grant-uri-permission android:path="string"
android:pathPattern="string"
android:pathPrefix="string" />
android:pathPattern="string"
android:pathPrefix="string" />
Instrumentation
Base class for implementing application
instrumentation code . class that enables you to monitor an application's
interaction with the system.
Syntax –
<instrumentation android:functionalTest=["true" | "false"]
android:handleProfiling=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:targetPackage="string" />
android:handleProfiling=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:targetPackage="string" />
Meta –Data
A name-value pair for an item
of additional, arbitrary data that can be supplied to the parent component. A
component element can contain any number of <meta-data> subelements.
Syntax-
<meta-data android:name="string"
android:resource="resource specification"
android:value="string" />
android:resource="resource specification"
android:value="string" />
Receiver
Declares a broadcast receiver
(a BroadcastReceiver subclass) as one of the application's components.
Broadcast receivers enable applications to receive intents that are broadcast
by the system or by other applications, even when other components of the
application are not running.
Syntax-
<receiver android:directBootAware=["true" | "false"]
android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string" >
</receiver>
android:enabled=["true" | "false"]
android:exported=["true" | "false"]
android:icon="drawable resource"
android:label="string resource"
android:name="string"
android:permission="string"
android:process="string" >
</receiver>