AndroidManifest.xml 详解

第1部分 标签库+包路径+版本控制

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

package="com.bang.app"

android:versionCode="1"

android:versionName="1.0" >

知识点1

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

声明xml命名空间。

xmlns意思为“xml namespace”.冒号后面是给这个引用起的别名。

schemas是xml文档的两种约束文件其中的一种,规定了xml中有哪些元素(标签)、元素有哪些属性及各元素的关系,当然从面向对象的角度理解schemas文件可以认为它是被约束的xml文档的“类”或称为“模板”。(类似于标签库这类)

拓展:
早期或简单的xml用的是另一种约束,称为DTD,这东西大家天天都见到。html/xhtml中都存在(早期的html可能没有),现在大部分xml文档的约束都换成schema了,原因是schema本身也是xml,二schema扩展性强。

知识点2

package="com.bang.app" -android 各组件所在的包

android:versionCode="1"

android:versionName="1.0"

--两个关于版本的属性

第2部分 sdk版本设置

<uses-sdk

android:minSdkVersion="8"

android:targetSdkVersion="17" />

知识点1

android:minSdkVersion="8"

必须是比我们新建时的 API Level 小或相等的值

假如修改后的 android:minSdkVersion 比我们 project 里的 SDK 版本对应的 API level 大,那么Android 系统在编译的时候,就会报错。因为api是向下兼容的。

知识点2

android:targetSdkVersion="17"

targetSdkVersion 是设置希望的SDK版本

如果targetSdkVersion与目标设备的API版本相同时,运行效率可能会高一些。

第3部分 权限

格式:

<uses-permission android:name="android.permission.XXXXXX" />

//使sd卡获得写的权限

android.permission.WRITE_EXTERNAL_STORAGE

//让APK程序开机自动运行

android.permission.RECEIVE_BOOT_COMPLETED

//允许一个程序访问CellID或WiFi热点来获取粗略的位置

android.permission.ACCESS_COARSE_LOCATION

//允许一个程序访问精良位置(如GPS)

android.permission.ACCESS_FINE_LOCATION

//允许程序访问Wi-Fi网络状态信息

android.permission.ACCESS_WIFI_STATE

//允许程序访问有关GSM网络信息

android.permission.ACCESS_NETWORK_STATE

//允许程序改变Wi-Fi连接状态

android.permission.CHANGE_WIFI_STATE

//读写手机状态和身份

android.permission.READ_PHONE_STATE

//访问网络的权限

android.permission.INTERNET

//向sd卡中读写文件的权限

android.permission.MOUNT_UNMOUNT_FILESYSTEMS

//允许程序读取底层系统日志文件

android.permission.READ_LOGS

//允许访问振动设备

android.permission.VIBRATE

//点亮屏幕与解锁屏幕

android.permission.WAKE_LOCK

//修改系统设置信息的权限

android.permission.WRITE_SETTINGS

//请求访问使用照相设备

android.permission.CAMERA

//访问闪光灯

android.permission.FLASHLIGHT

//读取联系人信息

android.permission.READ_CONTACTS

//访问蓝牙

android.permission.BLUETOOTH

//允许程序连接到已配对的蓝牙设备

android.permission.BLUETOOTH_ADMIN

//允许应用读取(并不能写)用户的浏览记录和书签

com.android.browser.permission.READ_HISTORY_BOOKMARKS

权限大全:

原文网址:http://www.cnblogs.com/classic/archive/2011/06/20/2085055.html


访问登记属性


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在线同步设置

第4部分 application

构件1 :

<application

android:allowBackup="true"

android:icon="@drawable/app_name"

android:label="@string/app_name"

android:theme="@android:style/Theme.NoTitleBar">

1、是否可以通过adb来backup和restore数据

2、应用logo

3、应用名称

4、应用样式

构件2 :activity

第一种 :主入口

<activity

android:name="com.bang.app.MainActivity"

android:label="@string/app_name"

android:screenOrientation="portrait" //---竖屏显示

android:theme="@android:style/Theme.NoTitleBar" >

<intent-filter>  --设置主入口

<action android:name="android.intent.action.MAIN" />

<category android:name=

"android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

第二种:普通activity

<activity

android:name="com.bang.app.activity.home.HomeActivity"

android:screenOrientation="portrait"

android:launchMode="standard" >--总是生成新的Activity实例

</activity>

android:launchMode

1.Standard

默认。不管有没有已存在的实例,都生成新的实例。

2.singleTop

如果发现有对应的Activity实例正位于栈顶,则重复利用,不再生成新的实例。

3.singleTask

如果发现有对应的Activity实例,则使此Activity实例之上的其他Activity实例统统出栈,使此Activity实例成为栈顶对象,显示到幕前。

4.singleInstance

activity就会有一个独享的任务栈,它一旦被创建就不会重新创建。

时间: 2024-08-26 07:48:52

AndroidManifest.xml 详解的相关文章

Android Androidmanifest.xml详解(转)

一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置. 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)

Android 之 AndroidManifest.xml 详解(一)

当Android启动一个应用程序组件之前,它必须知道哪些个组件是存在的,所以开发人员在开发过程中,必须将应用程序中出现的组件一一在AndroidManifest.xml文件中" 声明 ",最终这个AndroidManifest.xml文件也会被一起打包到.apk文件中去. Android的四大组件分别是:Activity.BroadCast receiver.service.Content Provider,所以如果在程序中用到了这些组件,一定要在AndroidManifest.xml

AndroidManifest.xml详解

AndroidManifest.xml 是每个android程序中必须的文件. 它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等), 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试) 二.AndroidManifest.xml结构 1 2 3 4 5 6 7 8 9 10 1

【AndroidManifest.xml详解】Manifest属性之sharedUserId、sharedUserLabel

http://blog.csdn.net/wirelessqa/article/details/8581652 android:sharedUserId 当APK安装的时候,userid这个标志就会产生.APK在设备上的整个生命周期中,这个ID不再改变.不同设备上同一个应用包可能有不同的userid,重要的是在给定的设备上,每个应用包有自己独立的userid. userid的特点: 1. 作为APK身份的标识 2. userid对应一个Linux用户,所以不同APK(用户)间互相访问数据默认是禁

Ant之build.xml详解

Ant的概念 可能有些读者并不连接什么是Ant以及入可使用它,但只要使用通过Linux系统得读者,应该知道make这个命令.当编译Linux内核及一些软件的源程序时,经常要用这个命令.Make命令其实就是一个项目管理工具,而Ant所实现功能与此类似.像make,gnumake和nmake这些编译工具都有一定的缺陷,但是Ant却克服了这些工具的缺陷.最初Ant开发者在开发跨平台的应用时,用样也是基于这些缺陷对Ant做了更好的设计. Ant 与 makefile Makefile有一些不足之处,比如

Tomcat主配置文件Server.xml详解

Tomcat主配置文件Server.xml详解 1.软件版本 [[email protected] META-INF]# java -version java version "1.8.0_60" Java(TM) SE Runtime Environment (build 1.8.0_60-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode) 2.server.xml组件类别 顶级组件:位于整个配置的

JavaEE学习之Maven配置文件pom.xml详解(转)

一.引言 (本文转载自:http://blog.csdn.net/longeremmy/article/details/9670619) 使用maven有一些时间了,一直没有好好将pom配置文件每个节点的意义好好了解一番.今天突然想来了解下:pom- project object model 项目对象模型.顾名思义,他是用来描述项目信息的,以及构建方式,依赖等.网上有一篇文章写的很详细,这里就借用一下,以备日后使用. 二.详解 1 <project xmlns="http://maven.

Web.xml详解(转)

这篇文章主要是综合网上关于web.xml的一些介绍,希望对大家有所帮助,也欢迎大家一起讨论. ---题记 一.            Web.xml详解: (一)  web.xml加载过程(步骤) 首先简单说一下,web.xml的加载过程. 当我们去启动一个WEB项目时,容器包括(JBoss.Tomcat等)首先会读取项目web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常地被启动起来. l  启动WEB项目的时候,容器首先会去它的配置文件web.xml读取两个节点: 

转载 logback的使用和logback.xml详解 http://www.cnblogs.com/warking/p/5710303.html

logback的使用和logback.xml详解 一.logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch.它当前分为下面下个模块: logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging logback-access:访问模块与Servlet容器集