每一个Android应用都须要一个名为AndroidManifest.xml的程序清单文件,这个清单文件名称是固定的而且放在每一个Android应用的根文件夹下。它定义了该应用对于Android系统来说一些很重要的信息。

Android系统须要这些信息才干正常执行该应用。Android程序清单文件主要具有以下作用:

·        它给应用程序Java包命名,这个包名作为应用程序唯一标识符。

·        它描写叙述了应用程序中的每一个程序组件—Activity。Service,Broadcast Receivers和Content Provider。它描写叙述了实现每一个应用程序组件的类名称和组件能力(比方组件可以处理哪种类型的Intent消息)。这些描写叙述帮助Andoid操作系统了解这些程序组件和在何种条件下可以启动这些程序组件。

·        它决定哪些进程用来执行应用程序组件。

·        它描写叙述了应用程序使用某些受保护的程序API或和其他应用程序交互所需的权限。

·        它也描写叙述了其他应用程序和该应用交互时应拥有的权限。

·        它列出了Instrumentation类用于提供应用程序执行时一些性能统计和其他信息。这些生命仅仅在測试或开发应用时使用。在公布应用时应该删除。

·        它给出了应用执行所需AndroidAPI版本号的最低要求。

·        它列出了应用程序须要调用的开发库定义。



<?xml version="1.0" encoding="utf-8"?

>



<manifest>

//根节点,描写叙述了package中全部的内容 
{   

eg:

<manifest 

    xmlns:android="http://schemas.android.com/apk/res/android"

    package="com.example.test_wen" //描写叙述当前project的包名

    android:versionCode="1" //描写叙述当前的版本

    android:versionName="1.0" //描写叙述当前版本号的名字  >

  }


    <uses-permission />

//定义用户使用的权限
{
eg:
<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
訪问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限
获取错略位置 android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米
获取精确位置 android.permission.ACCESS_FINE_LOCATION,通过GPS芯片接收卫星的定位信息,定位精度达10米以内
訪问定位额外命令 android.permission.ACCESS_LOCATION_EXTRA_COMMANDS,同意程序訪问额外的定位提供者指令
获取模拟定位信息 android.permission.ACCESS_MOCK_LOCATION,获取模拟定位信息,一般用于帮助开发人员调试应用
获取网络状态 android.permission.ACCESS_NETWORK_STATE,获取网络信息状态,如当前的网络连接是否有效
訪问Surface Flinger android.permission.ACCESS_SURFACE_FLINGER,Android平台上底层的图形显示支持,一般用于游戏或照相机预览界面和底层模式的屏幕截图
获取WiFi状态 android.permission.ACCESS_WIFI_STATE。获取当前WiFi接入的状态以及WLAN热点的信息
账户管理 android.permission.ACCOUNT_MANAGER,获取账户验证信息,主要为GMail账户信息,仅仅有系统级进程才干訪问的权限
验证账户 android.permission.AUTHENTICATE_ACCOUNTS。同意一个程序通过账户验证方式訪问账户管理ACCOUNT_MANAGER相关信息
电量统计 android.permission.BATTERY_STATS,获取电池电量统计信息
绑定小插件 android.permission.BIND_APPWIDGET,同意一个程序告诉appWidget服务须要訪问小插件的数据库。仅仅有很少的应用才用到此权限
绑定设备管理 android.permission.BIND_DEVICE_ADMIN。请求系统管理员接收者receiver,仅仅有系统才干使用
绑定输入法 android.permission.BIND_INPUT_METHOD 。请求InputMethodService服务,仅仅有系统才干使用
绑定RemoteView android.permission.BIND_REMOTEVIEWS,必须通过RemoteViewsService服务来请求,仅仅有系统才干用
绑定壁纸 android.permission.BIND_WALLPAPER,必须通过WallpaperService服务来请求,仅仅有系统才干用
使用蓝牙 android.permission.BLUETOOTH,同意程序连接配对过的蓝牙设备
蓝牙管理 android.permission.BLUETOOTH_ADMIN,同意程序进行发现和配对新的蓝牙设备
禁止手机使用 android.permission.BRICK,可以禁用手机,很危急,顾名思义就是让手机变成砖头
应用删除时广播 android.permission.BROADCAST_PACKAGE_REMOVED,当一个应用在删除时触发一个广播
收到短信时广播 android.permission.BROADCAST_SMS,当收到短信时触发一个广播
连续广播 android.permission.BROADCAST_STICKY,同意一个程序收到广播后高速收到下一个广播
WAP PUSH广播 android.permission.BROADCAST_WAP_PUSH,WAP PUSH服务收到后触发一个广播
拨打电话 android.permission.CALL_PHONE,同意程序从非系统拨号器里输入电话号码
通话权限 android.permission.CALL_PRIVILEGED,同意程序拨打电话。替换系统的拨号器界面
拍照权限 android.permission.CAMERA,同意訪问摄像头进行拍照
改变组件状态 android.permission.CHANGE_COMPONENT_ENABLED_STATE,改变组件是否启用状态
改变配置 android.permission.CHANGE_CONFIGURATION,同意当前应用改变配置,如定位
改变网络状态 android.permission.CHANGE_NETWORK_STATE,改变网络状态如能否联网
改变WiFi多播状态 android.permission.CHANGE_WIFI_MULTICAST_STATE。改变WiFi多播状态
改变WiFi状态 android.permission.CHANGE_WIFI_STATE。改变WiFi状态
清除应用缓存 android.permission.CLEAR_APP_CACHE,清除应用缓存
清除用户数据 android.permission.CLEAR_APP_USER_DATA,清除应用的用户数据
底层訪问权限 android.permission.CWJ_GROUP,同意CWJ账户组訪问底层信息
手机优化大师扩展权限 android.permission.CELL_PHONE_MASTER_EX,手机优化大师扩展权限
控制定位更新 android.permission.CONTROL_LOCATION_UPDATES。同意获得移动网络定位信息改变
删除缓存文件 android.permission.DELETE_CACHE_FILES。同意应用删除缓存文件
删除应用 android.permission.DELETE_PACKAGES,同意程序删除应用
电源管理 android.permission.DEVICE_POWER,同意訪问底层电源管理
应用诊断 android.permission.DIAGNOSTIC,同意程序到RW到诊断资源
禁用键盘锁 android.permission.DISABLE_KEYGUARD,同意程序禁用键盘锁
转存系统信息 android.permission.DUMP。同意程序获取系统dump信息从系统服务
状态栏控制 android.permission.EXPAND_STATUS_BAR,同意程序扩展或收缩状态栏
工厂測试模式 android.permission.FACTORY_TEST。同意程序执行工厂測试模式
使用闪光灯 android.permission.FLASHLIGHT,同意訪问闪光灯
强制后退 android.permission.FORCE_BACK,同意程序强制使用back后退按键,不管Activity是否在顶层
訪问账户Gmail列表 android.permission.GET_ACCOUNTS,訪问GMail账户列表
获取应用大小 android.permission.GET_PACKAGE_SIZE。获取应用的文件大小
获取任务信息 android.permission.GET_TASKS,同意程序获取当前或近期执行的应用
同意全局搜索 android.permission.GLOBAL_SEARCH,同意程序使用全局搜索功能
硬件測试 android.permission.HARDWARE_TEST,訪问硬件辅助设备。用于硬件測试
注射事件 android.permission.INJECT_EVENTS,同意訪问本程序的底层事件。获取按键、轨迹球的事件流
安装定位提供 android.permission.INSTALL_LOCATION_PROVIDER,安装定位提供
安装应用程序 android.permission.INSTALL_PACKAGES。同意程序安装应用
内部系统窗体 android.permission.INTERNAL_SYSTEM_WINDOW,同意程序打开内部窗体,不正确第三方应用程序开放此权限
訪问网络 android.permission.INTERNET。訪问网络连接,可能产生GPRS流量
结束后台进程 android.permission.KILL_BACKGROUND_PROCESSES,同意程序调用killBackgroundProcesses(String).方法结束后台进程
管理账户 android.permission.MANAGE_ACCOUNTS,同意程序管理AccountManager中的账户列表
管理程序引用 android.permission.MANAGE_APP_TOKENS,管理创建、摧毁、Z轴顺序,仅用于系统
高级权限 android.permission.MTWEAK_USER,同意mTweak用户訪问高级系统权限
社区权限 android.permission.MTWEAK_FORUM,同意使用mTweak社区权限
软格式化 android.permission.MASTER_CLEAR。同意程序运行软格式化。删除系统配置信息
改动声音设置 android.permission.MODIFY_AUDIO_SETTINGS,改动声音设置信息
改动电话状态 android.permission.MODIFY_PHONE_STATE。改动电话状态。如飞行模式。但不包括替换系统拨号器界面
格式化文件系统 android.permission.MOUNT_FORMAT_FILESYSTEMS。格式化可移动文件系统,比方格式化清空SD卡
挂载文件系统 android.permission.MOUNT_UNMOUNT_FILESYSTEMS。挂载、反挂载外部文件系统
同意NFC通讯 android.permission.NFC。同意程序运行NFC近距离通讯操作,用于移动支持
永久Activity android.permission.PERSISTENT_ACTIVITY,创建一个永久的Activity。该功能标记为将来将被移除
处理拨出电话 android.permission.PROCESS_OUTGOING_CALLS,同意程序监视,改动或放弃播出电话
读取日程提醒 android.permission.READ_CALENDAR,同意程序读取用户的日程信息
读取联系人 android.permission.READ_CONTACTS。同意应用訪问联系人通讯录信息
屏幕截图 android.permission.READ_FRAME_BUFFER。读取帧缓存用于屏幕截图
读取收藏夹和历史记录 com.android.browser.permission.READ_HISTORY_BOOKMARKS,读取浏览器收藏夹和历史记录
读取输入状态 android.permission.READ_INPUT_STATE,读取当前键的输入状态,仅用于系统
读取系统日志 android.permission.READ_LOGS。读取系统底层日志
读取电话状态 android.permission.READ_PHONE_STATE。訪问电话状态
读取短信内容 android.permission.READ_SMS,读取短信内容
读取同步设置 android.permission.READ_SYNC_SETTINGS,读取同步设置,读取Google在线同步设置
读取同步状态 android.permission.READ_SYNC_STATS。读取同步状态。获得Google在线同步状态
重新启动设备 android.permission.REBOOT,同意程序又一次启动设备
开机自己主动同意 android.permission.RECEIVE_BOOT_COMPLETED,同意程序开机自己主动执行
接收彩信 android.permission.RECEIVE_MMS,接收彩信
接收短信 android.permission.RECEIVE_SMS。接收短信
接收Wap Push android.permission.RECEIVE_WAP_PUSH,接收WAP PUSH信息
录音 android.permission.RECORD_AUDIO。录制声音通过手机或耳机的麦克
排序系统任务 android.permission.REORDER_TASKS。又一次排序系统Z轴执行中的任务
结束系统任务 android.permission.RESTART_PACKAGES,结束任务通过restartPackage(String)方法。该方式将在外来放弃
发送短信 android.permission.SEND_SMS,发送短信
设置Activity观察其 android.permission.SET_ACTIVITY_WATCHER,设置Activity观察器一般用于monkey測试
设置闹铃提醒 com.android.alarm.permission.SET_ALARM。设置闹铃提醒
设置总是退出 android.permission.SET_ALWAYS_FINISH,设置程序在后台是否总是退出
设置动画缩放 android.permission.SET_ANIMATION_SCALE。设置全局动画缩放
设置调试程序 android.permission.SET_DEBUG_APP。设置调试程序,一般用于开发
设置屏幕方向 android.permission.SET_ORIENTATION,设置屏幕方向为横屏或标准方式显示,不用于普通应用
设置应用參数 android.permission.SET_PREFERRED_APPLICATIONS,设置应用的參数。已不再工作详细查看addPackageToPreferred(String) 介绍
设置进程限制 android.permission.SET_PROCESS_LIMIT。同意程序设置最大的进程数量的限制
设置系统时间 android.permission.SET_TIME。设置系统时间
设置系统时区 android.permission.SET_TIME_ZONE,设置系统时区
设置桌面壁纸 android.permission.SET_WALLPAPER,设置桌面壁纸
设置壁纸建议 android.permission.SET_WALLPAPER_HINTS。设置壁纸建议
发送永久进程信号 android.permission.SIGNAL_PERSISTENT_PROCESSES,发送一个永久的进程信号
状态栏控制 android.permission.STATUS_BAR,同意程序打开、关闭、禁用状态栏
訪问订阅内容 android.permission.SUBSCRIBED_FEEDS_READ,訪问订阅信息的数据库
写入订阅内容 android.permission.SUBSCRIBED_FEEDS_WRITE,写入或改动订阅内容的数据库
显示系统窗体 android.permission.SYSTEM_ALERT_WINDOW,显示系统窗体
更新设备状态 android.permission.UPDATE_DEVICE_STATS。更新设备状态
使用证书 android.permission.USE_CREDENTIALS,同意程序请求验证从AccountManager
使用SIP视频 android.permission.USE_SIP,同意程序使用SIP视频服务
使用振动 android.permission.VIBRATE,同意振动
唤醒锁定 android.permission.WAKE_LOCK,同意程序在手机屏幕关闭后后台进程仍然执行
写入GPRS接入点设置 android.permission.WRITE_APN_SETTINGS,写入网络GPRS接入点设置
写入日程提醒 android.permission.WRITE_CALENDAR,写入日程。但不可读取
写入联系人 android.permission.WRITE_CONTACTS,写入联系人,但不可读取
写入外部存储 android.permission.WRITE_EXTERNAL_STORAGE。同意程序写入外部存储,如SD卡上写文件
写入Google地图数据 android.permission.WRITE_GSERVICES,同意程序写入Google Map服务数据
写入收藏夹和历史记录 com.android.browser.permission.WRITE_HISTORY_BOOKMARKS。写入浏览器历史记录或收藏夹,但不可读取
读写系统敏感设置 android.permission.WRITE_SECURE_SETTINGS。同意程序读写系统安全敏感的设置项
读写系统设置 android.permission.WRITE_SETTINGS,同意读写系统设置项
编写短信 android.permission.WRITE_SMS,同意编写短信
写入在线同步设置 android.permission.WRITE_SYNC_SETTINGS。写入Google在线同步设置


}
    <permission />
{
在普通情况下实际上不须要为自己的应用程序声明某个权限,除非你提供了供其它应用程序调用的代码或者数据。

这个时候你才须要使用<permission>这个标签

}


    
<permission-tree />

    
<permission-group />

 
   <instrumentation />


    
<uses-sdk />
{
//指定当前应用程序兼容的最低sdk版本 
eg:
 <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />

}

    
<uses-configuration />  

    
<uses-feature />  

    
<supports-screens />  

    
<compatible-screens />  

    
<supports-gl-texture />  



    
<application>



        
<activity>
{
eg:

android:screenOrientation="portrait" //该属性是用来设置当前的activity在屏幕上显示的方向

Activity在屏幕其中显示的方向。

属性值能够是下表中列出的一个值:

"unspecified" 默认值。由系统来选择方向。它的使用策略,以及由于选择时特定的上下文环境,可能会由于设备的差异而不同。
"user" 使用用户当前首选的方向。
"behind" 使用Activity堆栈中与该Activity之下的那个Activity的同样的方向。
"landscape" 横向显示(宽度比高度要大)
"portrait" 纵向显示(高度比宽度要大)
"reverseLandscape" 与正常的横向方向相反显示,在API Level 9中被引入。
"reversePortrait" 与正常的纵向方向相反显示,在API Level 9中被引入。

"sensorLandscape" 横向显示,可是基于设备传感器,既能够是按正常方向显示。也能够反向显示。在API Level 9中被引入。
"sensorPortrait" 纵向显示,可是基于设备传感器,既能够是按正常方向显示,也能够反向显示,在API Level 9中被引入。
"sensor" 显示的方向是由设备的方向传感器来决定的。

显示方向依赖与用户如何持有设备;当用户旋转设备时,显示的方向会改变。可是,默认情况下,有些设备不会在全部的四个方向上都旋转,因此要同意在全部的四个方向上都能旋转。就要使用fullSensor属性值。

"fullSensor" 显示的方向(4个方向)是由设备的方向传感器来决定的,除了它同意屏幕有4个显示方向之外,其它与设置为“sensor”时情况类似,无论什么样的设备,通常都会这么做。比如。某些设备通常不使用纵向倒转或横向反转。可是使用这个设置。还是会发生这种反转。这个值在API Level 9中引入。

"nosensor" 屏幕的显示方向不会參照物理方向传感器。

传感器会被忽略,所以显示不会因用户移动设备而旋转。除了这个区别之外,系统会使用与“unspecified”设置同样的策略来旋转屏幕的方向。

注意:在给这个属性设置的值是“landscape”或portrait的时候,要考虑硬件对Activity执行的方向要求。正因如此,这些声明的值可以被诸如Google Play这种服务所过滤,以便应用程序仅仅能适用于那些支持Activity所要求的方向的设备。比如,假设声明了“landscape”、“reverseLandscape”、或“sensorLandscape”,那么应用程序就仅仅能适用于那些支持横向显示的设备。可是。还应该使用<uses-feature>元素来明白的声明应用程序全部的屏幕方向是纵向的还是横行的。比如:<uses-feature
android:name=”android.hardware.screen.portrait”/>。这个设置由Google Play提供的纯粹的过滤行为,而且在设备仅支持某个特定的方向时,平台本身并不控制应用程序是否可以被依照。

}

            
<intent-filter>

                
<action />

                
<category />

                
<data />

            
</intent-filter>

            
<meta-data />

        
</activity>



        
<activity-alias>

            
<intent-filter> . . . </intent-filter>

            
<meta-data />

        
</activity-alias>



        
<service>

            
<intent-filter> . . . </intent-filter>

            
<meta-data/>

        
</service>



        
<receiver>

            
<intent-filter> . . . </intent-filter>

            
<meta-data />

        
</receiver>



        
<provider>

            
<grant-uri-permission />

            
<meta-data />

            
<path-permission />

        
</provider>



        
<uses-library />



    
</application>



</manifest>

Android AndroidManifest 清单文件以及权限具体解释的更多相关文章

  1. Android AndroidManifest 清单文件以及权限详解!【转】

    转自:http://my.oschina.net/yuanxulong/blog/366753 每个Android应用都需要一个名为AndroidManifest.xml的程序清单文件,这个清单文件名 ...

  2. 关于Linux操作系统下文件特殊权限的解释

    文件特殊权限的解释. -rwsr-xr-x = 4755 文件执行的时候,会以owner的身份来执行,就是setuid . 例如:-rwxr-xr-t 1 root wheel 0 7 9 18:24 ...

  3. Android应用清单文件:AndroidManifest.xml

    AndroidMainfest.xml清单文件是每个Android项目所必需的,它是整个Android应用的全家描述文件. <?xml version="1.0" encod ...

  4. Android的读写文件及权限设置

    drwx read write excute openFileOutput(name,drwx); 用系统api读取文件 设置文件生成的权限:    public static boolean sav ...

  5. Android 读取清单文件<meta-data>元素的数据

    添加属性 <application -- > <meta-data android:value="Channel_0" android:name="UM ...

  6. 如何改android device monitor文件的权限

    adb.exe在c/Android/platform-tools目录下,在这个目录下打开终端,然后adb shell,然后su http://blog.csdn.net/u012719153/arti ...

  7. Android清单文件具体解释(二) ---- 应用程序权限声明

    我们知道,Android系统的各个模块提供了很强大的功能(比方电话,电源和设置等),通过使用这些功能.应用程序能够表现的更强大.更灵活.只是,使用这些功能并非无条件的.而是须要拥有一些权限.接下来,我 ...

  8. Android清单文件具体解释(三)----应用程序的根节点&lt;application&gt;

    <application>节点是AndroidManifest.xml文件里必须持有的一个节点,它包括在<manifest>节点下.通过<application>节 ...

  9. Android清单文件具体解释(四) ---- backupAgent的使用方法

    在<application>节点中有一个很重要的属性,那就是backupAgent.这里我们将它单独列出来,从基本含义,使用方法及其相关属性等方面来具体介绍一下. 1.backupAgen ...

随机推荐

  1. API HOOK技术

    API HOOK技术是一种用于改变API执行结果的技术,Microsoft 自身也在Windows操作系统里面使用了这个技术,如Windows兼容模式等. API HOOK 技术并不是计算机病毒专有技 ...

  2. 如何写mysql的定时任务

     什么是事件: 一组SQL集,用来执行定时任务,跟触发器很像,都是被动执行的,事件是因为时间到了触发执行,而触发器是因为某件事件(增删改)触发执行: 查看是否开启: show variables li ...

  3. poj1286Necklace of Beads(ploya定理)

    链接 这个东东是新知识 let's 从头学起吧 这篇文库讲的不错 至少把各种概念学了一遍 然后再看此题 共有两种类型的置换 一种是旋转之后相同算一种 一种是翻转之后相同算一种 对于旋转 共有N次置换 ...

  4. bzoj1854

    神奇了 朴素的做法不难想,二分图最大匹配(汗,我其实还是想了一会,太弱了) 左边点集为能打的属性值,右边把武器作为一个点 武器和两个属性连边, 然后和superhero那题差不多,顺次找匹配,找不到了 ...

  5. SCOI2010 and SXOI2014 股票交易(DP)

    明显的单调队列…… 但下面的程序一直有bug 附上题解:http://blog.csdn.net/njlcazl/article/details/8611042 附上我的代码: var head,ta ...

  6. HTML5 离线功能介绍

    HTML5 是目前正在讨论的新一代 HTML 标准,它代表了现在 Web 领域的最新发展方向.在 HTML5 标准中,加入了新的多样的内容描述标签,直接支持表单验证.视频音频标签.网页元素的拖拽.离线 ...

  7. 15个实用的Linux find命令示例(一)

    除了在一个目录结构下查找文件这种基本的操作,你还可以用find命令实现一些实用的操作,使你的命令行之旅更加简易. 本文将介绍15种无论是于新手还是老鸟都非常有用的Linux find命令. 首先,在你 ...

  8. Window.Event.KeyCode=13

    Window.Event.KeyCode=13是enter键处发windows事件,enter键的ASCII是13. <input type="password" name= ...

  9. (一)学习MVC之制作验证码

    制作验证码的方法在@洞庭夕照 看到的,原文链接:http://www.cnblogs.com/mzwhj/archive/2012/10/22/2720089.html 现自己利用该方法制作一个简单的 ...

  10. sharepoint 2010 如何给文档库或自定义列表添加评论功能

    转:http://www.cfanz.cn/?c=article&a=read&id=40924 最近公司在知识库中,有一个需求,就是想要给文档添加评论功能,在sharepoint 2 ...