本质:AndroidManifest.xml是整个应用的主配置清单文件。
包含:该应用的包名,版本号,组件,权限等信息
作用:记录该应用的相关配置信息。
1。全局信息配置(包名、版本信息)
(1.1)应用的包名以及版本信息的管理
package="com.wlwdl"
android:versionCode="1"
android:versionName="1.0"
(1.2)控制android版本信息(可以支持的最低版本,你期望的系统版本)
API level 15
android:minSdkVersion="15"
android:targetSdkVersion="15"
2。组件(四大组件)
一个清单文件只能包含一个application节点
<application 面向全局
android:name="com.cem.application.AppContext"
android:icon="@drawable/ico" 图标
android:label="@string/app_name" 标题
android:theme="@style/AppTheme" 主体样式
tools:ignore="AllowBackup" >
</application>
启动一个没有在清单中定义的Activity会抛出异常。
<activity android:name=".FActivity" 类名
android:label="@string/app_name">
<intent-filter> 名片
<action android:name="android.intent.action.MAIN" 入口Activity/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
逻辑代码处理
<service android:name="cp">
<intent-filter>
<action android:name="android.intent.action.RESPOND_VIA_MESSAGE">
</action>
</intent-filter>
</service>
Content Provider 内容提供者
用来管理数据库访问以及程序内和程序间共享的。
<provider android:name="procider">
</provider>
Broadcast Receiver 广播接受者
全局事件的监听器。
<receiver android:name="com.imooc.recuver.InstallRexiver">
<intent-filter> 组件的介绍,过滤器的作用。
<action android:name="imooc.app.install">
</intent-filter>
</receiver>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.adb.li806.demo8">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
</activity>
<!--
intent-filter 代表那个页面优先启动
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
-->
<activity android:name=".FActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".SActivity">
<intent-filter>
<action android:name="aaa.bbb.ccc.ddd"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<!-- Alt+/ 代码提示 -->
<service
android:name=".BaseService"
></service>
<receiver android:name=".BaseReceiver"
></receiver>
<!-- authorities : 域名 -->
<provider
android:authorities="aaa.bbb.ccc.ddd"
android:name=".BaseProvider">
</provider>
</application>
</manifest>
3。权限(申请权限和定义权限)
uses-permission 申请权限
<uses-permission android:name="android.permission.INTERNET" android:maxSdkVersion="10"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.SEND_SMS"/>
4。自定义权限
作用:保护android组件
权限:
<permission
android:name="eee.fff.ggg"
android:protectionLevel="normal"
/>
使用权限:
<activity
android:permission="eee.fff.ggg"
android:name=".FActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
解决办法:
<uses-permission
android:name="eee.fff.ggg"/>