本质:Androidmanifest.xml是整个应用的主配置清单文件。
包含:该应用的包名、版本号、组件、权限等信息。
作用:记录该应用的相关的配置信息。
1、全局篇(包名、版本信息)
应用包名以及版本信息的管理
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.calculator"
android:versionCode= "1"
android:versionName= "1.0" >
控制Android版本信息(最低的版本及希望的版本)
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="21" />
2、组件篇(四大组件)
*一个清单文件只能包含一个applicant节点*
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher" //图标
android:label="@string/app_name" //标题
android:theme="@style/AppTheme" > //主题样式
//启动任何一个没有在清单中定义的activity都会在运行时抛出异常
<activity
android:name=".MainActivity" //最好用全名的书写方式(com.svse.MainActivity )
android:theme="@android:style/Theme.Black.NoTitleBar"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
//service仅仅作为后台逻辑代码的处理
<service android:name= "com.ttg.service.CouponService" >
<intent-filter >
<action android:name="com.ttg.service" />
</intent-filter>
</service>
//ContentProvider是用力爱管理数据库访问以及程序内核程序间共享的
< provider android:name ="com.example.manifest.provider"></provider >
//Broadcast receiver
<receiver android:name="com.imocc.receiver.InstallReceiver" >
<intent-filter >
<action android:name="imooc.app.install" />
</intent-filter>
</receiver>
</application >
3、权限篇(申请权限和定义权限)
1。使用系统权限
<uses-permission>申请权限
声明了那些是由你定义的权限,而这些权限是应用程序正常执行锁所必须的。在安装程序的时候,你所设定的所有权限将会告诉给用户,由他们来决定同意与否,对很多本地Android服务来说,权限都是必须的,特别是那些需要付费或者有安全问题的服务。
2.自定义权限
<activity android:name="privActivity"
android:permission="syh.permission.STARTMYACTIVITY"
>
<intent-filter >
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
< uses-permission android:name ="syh.permission.STARTMYACTIVITY"/>
自定义权限 自定义命名,来保护Android的某些重要组件
<!-- 声明自定义权限 -->
<permission
android:name="e.f.g"
android:protectionLevel="normal" // 安全级别
></permission>
<activity android:name="privActivity"
android:permission="e.f.g" // 使用自定义权限
>
<intent-filter >
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
注意事项:
1:每一个组件都必须包含android:name这个属性(推荐使用全名),intent-filter可以选写
2:四大组件中除了BroadcastReceiver可以那个代码声明注册外,其他组件必须要在manifest文件中进行声明配置,否则会报错。