Androidmanifest.xml配置文件

本质: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文件中进行声明配置,否则会报错。
stareblankly.cn
原文地址:https://www.cnblogs.com/stareblankly/p/4829266.html