安卓开发——AndroidManifest.xml标签作用详解二

版权声明:分享是一种美德,能够找到同一兴趣点是幸运,转载文章记得说明出处,共同进步。 https://blog.csdn.net/David_snjly/article/details/46851699

有如下.xml文件例子:

<span style="font-size:14px;"><application>
	     android:allowTaskReparenting=["true" | "false"]
             android:backupAgent="string"
             android:debuggable=["true" | "false"]
             android:description="string resource"
             android:enabled=["true" | "false"]
             android:hasCode=["true" | "false"]
             android:hardwareAccelerated=["true" | "false"]
             android:icon="drawable resource"
             android:killAfterRestore=["true" | "false"]
             android:label="string resource"
             android:logo="drawable resource"
             android:manageSpaceActivity="string"
             android:name="string"
             android:permission="string"
             android:persistent=["true" | "false"]
             android:process="string"
             android:restoreAnyVersion=["true" | "false"]
             android:taskAffinity="string"
             android:theme="resource or theme"
             android:uiOptions=["none" | "splitActionBarWhenNarrow"] >
    . . .
</application></span>
标签说明:

被包含于(CONTAINED IN):底层(根)标签

<manifest>

能够包含的元素(CAN CONTAIN):

<activity>

<activity-alias>

<service>

<receiver>

<provider>

<uses-library>

说明(DESCRIPTION):

这个元素用于应用程序的声明。它包含了每个应用程序组件所声明的子元素,并且还有能够影响所有组件的属性。其中的很多属性(如icon、label、permission、process、taskAffinity和allowTaskReparenting)会给组件元素中对应的属性设置默认值。其他的给是应用程序整体设置的值(如debuggable、enabled、description、allowClearUserData),并且这些属性值不能被组件的属性所覆盖。

属性(ATTRIBUTES):

Android:allowTaskReparenting

当一个与当前任务有亲缘关系的任务被带到前台时,用这个属性来指定应用程序中定义的Activity能否从他们当前的任务中转移到这个有亲缘关系的任务中。如果设置为true,则能够转移,如果设置为false,则应用程序中的Activity必须保留在它们所在的任务中。默认值是false。

<activity>元素有它们自己的allowTaskReparenting属性,它能够覆盖<application>元素中的设置。

android:backupAgent

这个属性用于定义应用程序备份代理的实现类的名称,这个类是BackupAgent类的一个子类。它的属性值应该是完整的Java类的名称(如,com.example.project.MyBackupAgent)。但是,也可以使用用”.”符号开头的简称(如,.MyBackupAgent),系统会把<manifest>元素中指定的包名追加到”.”符号的前面。

android:debuggable

这个属性用于指定应用程序是否能够被调试,即使是以用户模式运行在设备上的时候。如果设置为true,则能够被调试,否则不能调试,默认值是false。

android:description

这个属性用于定义应用程序相关的用户可读文本,它要比应用程序标签更长、更详细。它的的值必须被设置成一个字符串资源的引用。跟label属性不一样,label属性可以使用原生的字符串。这个属性没有默认值

android:enabled

这个属性用于指定Android系统能否实例化应用程序组件。如果设置为true,这个可以实例化其组件,否则不能够实例化。如果这个属性被设置为true,那么就会使用每个组件自己enabled属性的设置来判断其是否能够被实例化。如果这个属性被设置为false,它会覆盖其所有组件自己指定的值,应用程序中的所有组件都会被禁用。默认值是true。

android:hasCode

这个属性用于设置应用程序是否包含了代码,如果设置为true,则包含代码,否则不包含任何代码。在这个属性被设置为false的时候,系统在加载组件的时候不会试图加载任何应用程序的代码。默认值是true。

如果应用程序没有使用任何应用内置组件类以外的组件,那么这个应用程序就不会有任何自己的代码,像使用AliasActivity类的Activity,是很少发生的。

android:hardwareAccelerated

这个属性用于设置能够给应用程序中的所有Activity和View对象启用硬件加速渲染。如果设置为true,则应该启用,如果设置为false,则不会启用。默认值是false。

从Android3.0开始,应用程序可以使用硬件加速的OpenGL渲染器,来改善很多共同的2D图形操作的性能。当硬件加速渲染被启动的时候,在Canvas、Paint、Xfermode、ColorFilter、Shader和Camera中的大多数操作都会被加速。这样会使动画、滚动更加平滑,并且会改善整体的响应效果,即使应用程序没有明确的使用框架的OpenGL类库。

要注意的是,不是所有的OpenGL 2D操作都会被加速。如果启用了硬件加速渲染器,就要对应用程序进行测试,以确保使用渲染器时不发生错误。

android:icon

这个属性用于设置应用程序的整个图标,以及每个应用组件的默认图标。对于<activity>、<activity-alias>、<service>、<service>、<receiver>和<provider>元素,请看它们各自的icon属性。

设置这个属性时,必须要引用一个包含图片的可绘制资源(例如,“@drawable/icon”)。没有默认的图标。

android:killAfterRestore

这个属性用于指定在全系统的恢复操作期间,应用的设置被恢复以后,对应的问题程序是否应该被终止。单包恢复操作不会导致应用程序被关掉。全系统的复原操作通常只会发生一次,就是在电话被首次建立的时候。第三方应用程序通常不需要使用这个属性。默认值是true,这意味着在全系统复原期间,应用程序完成数据处理之后,会被终止。

android:label

这个属性用于设置应用程序整体的用户可读的标签,并也是每个应用程序组件的默认标签。对于<activity>、<activity-alias>、<service>、<receiver>和<provider>元素,请看它们各自的label属性。

设置这个属性值时,应该引用一个字符串资源。以便它能够跟用户界面中的其他字符串一样能够被本地化。但是为了应用程序开发的便利,也能够用原生的字符串来设置。

android:logo

这个属性用于给整个应用程序设置一个Logo,而且它也是所有Activity的默认Logo。

设置这个属性时,必须要引用一个包含图片的可绘制资源(如:“@drawable/logo”)。没有默认的Logo。

android:manageSpaceActivity

这个属性定义了一个完整的Activity子类的名字,系统能够把这个名字加载到由用户管理被应用程序所占用的设备上的内存。这个Activity也应该用<activity>元素来声明。

android:name

这整个属性用完整的Java类名,给应用程序定义了一个Application子类的实现。当应用程序进程被启动时,这个类在其他任何应用程序组件被实例化之前实例化。

这个子类实现是可选的,大多数应用程序不需要一个子类的实现。如果没有实现自己的子类,Android系统会使用基本的Application类的一个实例。

android:permission

这个属性定义了一个权限,为了跟应用程序进行交互,客户端必须要有这个权限。这个属性是为给所有的应用程序组件设置权限提供了便利的方法。它能够被独立组件所设置的permission属性所覆盖。

android:persistent

这个属性用户设置应用程序是否应该时刻保持运行状态,如果设置为true,那么就保持,否则不保持。默认值是false。普通的应用程序不应该设置这个属性,持久运行模式仅用于某些系统级的应用程序。

android:process

这个属性用于定义一个进程名称,应用程序的所有组件都应该运行在这个进程中。每个组件都能够用它自己process属性的设置来覆盖这个<application>元素中的设置。

默认情况下,当应用程序的第一个组件需要运行时,Android系统就会给这个应用程序创建一个进程。然后,应用中的所有组件都运行在这个进程中。默认的进程名是跟<manifest>元素中设置的包名进行匹配的。

通过设置这个属性,能够跟另外一个应用程序共享一个进程名,能够把这两个应用程序中的组件都安排到同一个进程中运行---但是仅限于这两个应用程序共享一个用户ID,并且带有相同的数字证书。

如果这个进程名称用“:”开头,那么在需要的时候,就会给应用程序创建一个新的、私有的进程。如果进程名用小写字符开头,就会用这个名字创建一个全局的进程,这个全局的进程能够被其他应用程序共享,从而减少资源的使用。

android:restoreAnyVersion

设置这个属性表示应用程序准备尝试恢复任何备份的数据集,即使备份比设备上当前安装的应用程序的版本要新。这个属性设置为true,即使是在版本不匹配而产生数据兼容性提示的时候,也会允许备份管理来恢复备份的数据,所以要谨慎使用,这个属性的默认值是false。

android:taskAffinity

这个属性给应用的所有的Activity设置了一个亲缘关系名,除了那些用它们自己的taskAffinity属性设置不同亲缘关系的组件。

默认情况下,应用程序中的所有Activity都会共享相同的亲缘关系,亲缘关系的名称跟由<manifest>元素设置的包名相同。

android:theme

这个属性给应用程序中所有的Activity设置默认的主题,属性值要引用一个样式资源。每个独立的Activity的主题会被它们自己的theme属性所覆盖。

android:uiOptions

这个属性设置了Activity的UI的额外选项。它必须是下表中的一个值:

值  说明
none 默认设置,没有额外的UI选项。
splitActionBarWhenNarrow 在水平空间受到限制的时候,会在屏幕的底部添加一个用于显示ActionBar中操作项的栏,例如:在纵向的手持设备上。而不是在屏幕顶部的操作栏中显示少量的操作项。它会把操作栏分成上下两部分,顶部用于导航选择,底部用于操作项目。这样就会确保可用的合理空间不仅只是针对操作项目,而且还会在顶部给导航和标题留有空间。菜单项目不能被分开到两个栏中,它们要显示在一起。


*************************************************************************************************************************************************************************************

权限大全说明:

当编写某些程序时,你需要调用手机的某些功能要记得启用相关的uses-permission

android.permission.ACCESS_CHECKIN_PROPERTIES 
Allows read/write access to the "properties" table in the checkin database, to change values that get uploaded
允许读写访问 "properties"表在checkin数据库中,改值可以修改上传

android.permission.ACCESS_COARSE_LOCATION 
Allows an application to access coarse (e.g., Cell-ID, WiFi) location
允许一个程序访问CellID或WiFi热点来获取粗略的位置

android.permission.ACCESS_FINE_LOCATION 
Allows an application to access fine (e.g., GPS) location
允许一个程序访问精良位置(如GPS)

android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 
Allows an application to access extra location provider commands
允许应用程序访问额外的位置提供命令

android.permission.ACCESS_MOCK_LOCATION
Allows an application to create mock location providers for testing
允许程序创建模拟位置提供用于测试

android.permission.ACCESS_NETWORK_STATE 
Allows applications to access information about networks
允许程序访问有关GSM网络信息

android.permission.ACCESS_SURFACE_FLINGER 
Allows an application to use SurfaceFlinger’s low level features
允许程序使用SurfaceFlinger底层特性

android.permission.ACCESS_WIFI_STATE 
Allows applications to access information about Wi-Fi networks
允许程序访问Wi-Fi网络状态信息

android.permission.ADD_SYSTEM_SERVICE 
Allows an application to publish system-level services
允许程序发布系统级服务

android.permission.BATTERY_STATS 
Allows an application to update the collected battery statistics
允许程序更新手机电池统计信息

android.permission.BLUETOOTH 
Allows applications to connect to paired bluetooth devices
允许程序连接到已配对的蓝牙设备

android.permission.BLUETOOTH_ADMIN  
Allows applications to discover and pair bluetooth devices
允许程序发现和配对蓝牙设备

android.permission.BRICK 
Required to be able to disable the device (very dangerous!)
请求能够禁用设备(非常危险)

android.permission.BROADCAST_PACKAGE_REMOVED  
Allows an application to broadcast a notification that an application package has been removed
允许程序广播一个提示消息在一个应用程序包已经移除后

android.permission.BROADCAST_STICKY 
Allows an application to broadcast sticky intents
允许一个程序广播常用intents

android.permission.CALL_PHONE 
Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call being placed
允许一个程序初始化一个电话拨号不需通过拨号 用户界面需要用户确认

android.permission.CALL_PRIVILEGED 
Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed
允许一个程序拨打任何号码,包含紧 急号码无需通过拨号用户界面需要用户确认

android.permission.CAMERA 
Required to be able to access the camera device
请求访问使用照相设备

android.permission.CHANGE_COMPONENT_ENABLED_STATE 
Allows an application to change whether an application component (other than its own) is enabled or not
允 许一个程序是否改变一个组件或其他的启用或禁用

android.permission.CHANGE_CONFIGURATION
Allows an application to modify the current configuration, such as locale
允许一个程序修改当前设置,如本地化

android.permission.CHANGE_NETWORK_STATE 
Allows applications to change network connectivity state
允许程序改变网络连接状态

android.permission.CHANGE_WIFI_STATE 
Allows applications to change Wi-Fi connectivity state
允许程序改变Wi-Fi连接状态

android.permission.CLEAR_APP_CACHE 
Allows an application to clear the caches of all installed applications on the device
允许一个程序清楚缓存从所有安装的程序在设备中

android.permission.CLEAR_APP_USER_DATA 
Allows an application to clear user data
允许一个程序清除用户设置

android.permission.CONTROL_LOCATION_UPDATES 
Allows enabling/disabling location update notifications from the radio
允许启用禁止位置更新提示从无线模块

android.permission.DELETE_CACHE_FILES 
Allows an application to delete cache files
允许程序删除缓存文件

android.permission.DELETE_PACKAGES 
Allows an application to delete packages
允许一个程序删除包

android.permission.DEVICE_POWER 
Allows low-level access to power management
允许访问底层电源管理

android.permission.DIAGNOSTIC 
Allows applications to RW to diagnostic resources
允许程序RW诊断资源

android.permission.DISABLE_KEYGUARD 
Allows applications to disable the keyguard
允许程序禁用键盘锁

android.permission.DUMP 
Allows an application to retrieve state dump information from system services
允许程序返回状态抓取信息从系统服务

android.permission.EXPAND_STATUS_BAR 
Allows an application to expand or collapse the status bar
允许一个程序扩展收缩在状态栏,Android开发网提示应该是一个类似Windows Mobile中的托盘程序

android.permission.FACTORY_TEST 
Run as a manufacturer test application, running as the root user
作为一个工厂测试程序,运行在root用户

android.permission.FLASHLIGHT 
Allows access to the flashlight
访问闪光灯,Android开发网提示HTC Dream不包含闪光灯

android.permission.FORCE_BACK 
Allows an application to force a BACK operation on whatever is the top activity
允许程序强行一个后退操作是否在顶层activities

android.permission.FOTA_UPDATE  
允许启用禁止位置更新提示从无线模块(Allows enabling/disabling location update notifications from the radio. )

android.permission.GET_ACCOUNTS 
Allows access to the list of accounts in the Accounts Service
访问一个帐户列表在Accounts Service中

android.permission.GET_PACKAGE_SIZE 
Allows an application to find out the space used by any package
允许一个程序获取任何package占用空间容量

android.permission.GET_TASKS 
Allows an application to get information about the currently or recently running tasks: a thumbnail representation of the tasks, what activities are running in it, etc
允许一个程序获取信息有关当前或最近运行的任 务,一个缩略的任务状态,是否活动等等

android.permission.HARDWARE_TEST 
Allows access to hardware peripherals.
允许访问硬件

android.permission.INJECT_EVENTS 
Allows an application to inject user events (keys, touch, trackball) into the event stream and deliver them to ANY window
允许一个程序截获用户事件如按键、触 摸、轨迹球等等到一个时间流

android.permission.INSTALL_PACKAGES 
Allows an application to install packages
允许一个程序安装packages

android.permission.INTERNAL_SYSTEM_WINDOW 
Allows an application to open windows that are for use by parts of the system user interface
允许打开窗口使用系统用户界面

android.permission.INTERNET 
Allows applications to open network sockets
允许程序打开网络套接字

android.permission.MANAGE_APP_TOKENS 
Allows an application to manage (create, destroy, Z-order) application tokens in the window manager
允许程序管理(创建、催后、z -order默认向z轴推移)程序引用在窗口管理器中

android.permission.MASTER_CLEAR 
目前还没有明确的解释,可能是清除一切数据,类似硬格机

android.permission.MODIFY_AUDIO_SETTINGS 
Allows an application to modify global audio settings
允许程序修改全局音频设置

android.permission.MODIFY_PHONE_STATE 
Allows modification of the telephony state – power on, mmi, etc
允许修改话机状态,如电源,人机接口等

android.permission.MOUNT_UNMOUNT_FILESYSTEMS 
Allows mounting and unmounting file systems for removable storage
允许挂载和反挂载文件系统可移动存储

android.permission.PERSISTENT_ACTIVITY 
Allow an application to make its activities persistent
允许一个程序设置他的activities显示

android.permission.PROCESS_OUTGOING_CALLS 
Allows an application to monitor, modify, or abort outgoing calls
允许程序监视、修改有关播出电话

android.permission.READ_CALENDAR 
Allows an application to read the user’s calendar data
允许程序读取用户日历数据

android.permission.READ_CONTACTS 
Allows an application to read the user’s contacts data.
允许程序读取用户联系人数据

android.permission.READ_FRAME_BUFFER 
Allows an application to take screen shots and more generally get access to the frame buffer data
允许程序屏幕波或和更多常规的访问帧缓冲数据

android.permission.READ_INPUT_STATE 
Allows an application to retrieve the current state of keys and switches
允许程序返回当前按键状态

android.permission.READ_LOGS 
Allows an application to read the low-level system log files.
允许程序读取底层系统日志文件

android.permission.READ_OWNER_DATA 
Allows an application to read the owner’s data
允许程序读取所有者数据

android.permission.READ_SMS 
Allows an application to read SMS messages
允许程序读取短信息

android.permission.READ_SYNC_SETTINGS 
Allows applications to read the sync settings
允许程序读取同步设置

android.permission.READ_SYNC_STATS 
Allows applications to read the sync stats
允许程序读取同步状态

android.permission.REBOOT 
Required to be able to reboot the device.
请求能够重新启动设备

android.permission.RECEIVE_BOOT_COMPLETED 
Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting
允许一个程序接收到 ACTION_BOOT_COMPLETED广播在系统完成启动

android.permission.RECEIVE_MMS 
Allows an application to monitor incoming MMS messages, to record or perform processing on them
允许一个程序监控将收到MMS彩信,记录或处理

android.permission.RECEIVE_SMS 
Allows an application to monitor incoming SMS messages, to record or perform processing on them
允许程序监控一个将收到短信息,记录或处理

android.permission.RECEIVE_WAP_PUSH 
Allows an application to monitor incoming WAP push messages
允许程序监控将收到WAP PUSH信息

android.permission.RECORD_AUDIO 
Allows an application to record audio
允许程序录制音频

android.permission.REORDER_TASKS 
Allows an application to change the Z-order of tasks
允许程序改变Z轴排列任务

android.permission.RESTART_PACKAGES 
Allows an application to restart other applications
允许程序重新启动其他程序

android.permission.SEND_SMS 
Allows an application to send SMS messages
允许程序发送SMS短信

android.permission.SET_ACTIVITY_WATCHER 
Allows an application to watch and control how activities are started globally in the system
允许程序监控或控制activities已经启动全局系统中

android.permission.SET_ALWAYS_FINISH 
Allows an application to control whether activities are immediately finished when put in the background
允许程序控制是否活动间接完成在处于后台时

android.permission.SET_ANIMATION_SCAL
Modify the global animation scaling factor
修改全局信息比例

android.permission.SET_DEBUG_APP 
Configure an application for debugging
配置一个程序用于调试

android.permission.SET_ORIENTATION 
Allows low-level access to setting the orientation (actually rotation) of the screen
允许底层访问设置屏幕方向和实际旋转

android.permission.SET_PREFERRED_APPLICATIONS 
Allows an application to modify the list of preferred applications with the PackageManager.addPackageToPreferred() and PackageManager.removePackageFromPreferred() methods
允许一个程 序修改列表参数PackageManager.addPackageToPreferred() 和packageManager.removePackageFromPreferred()方法

android.permission.SET_PROCESS_FOREGROUND 
Allows an application to force any currently running process to be in the foreground
允许程序当前运行程序强行到前台

android.permission.SET_PROCESS_LIMIT 
Allows an application to set the maximum number of (not needed) application processes that can be running
允许设置最大的运行进程数量

android.permission.SET_TIME_ZONE 
Allows applications to set the system time zone
允许程序设置时间区域

android.permission.SET_WALLPAPER 
Allows applications to set the wallpaper
允许程序设置壁纸

android.permission.SET_WALLPAPER_HINTS 
Allows applications to set the wallpaper hints
允许程序设置壁纸hits

android.permission.SIGNAL_PERSISTENT_PROCESSES 
Allow an application to request that a signal be sent to all persistent processes
允许程序请求发送信号到所有显示的进程中

android.permission.STATUS_BAR 
Allows an application to open, close, or disable the status bar and its icons
允许程序打开、关闭或禁用状态栏及图标

android.permission.SUBSCRIBED_FEEDS_READ 
Allows an application to allow access the subscribed feeds ContentProvider
允许一个程序访问订阅RSS Feed内容提供

android.permission.SUBSCRIBED_FEEDS_WRITE 
系统暂时保留改设置,未来版本可能会加入该功能

android.permission.SYSTEM_ALERT_WINDOW 
Allows an application to open windows using the type TYPE_SYSTEM_ALERT, shown on top of all other applications
允许一个程序打开窗口使用 TYPE_SYSTEM_ALERT,显示在其他所有程序的顶层

android.permission.VIBRATE 
Allows access to the vibrator
允许访问振动设备

android.permission.WAKE_LOCK 
Allows using PowerManager WakeLocks to keep processor from sleeping or screen from dimming
允许使用PowerManager的 WakeLocks保持进程在休眠时从屏幕消失

android.permission.WRITE_APN_SETTINGS 
Allows applications to write the apn settings
允许程序写入API设置

android.permission.WRITE_CALENDAR 
Allows an application to write (but not read) the user’s calendar data
允许一个程序写入但不读取用户日历数据

android.permission.WRITE_CONTACTS 
Allows an application to write (but not read) the user’s contacts data
允许程序写入但不读取用户联系人数据

android.permission.WRITE_GSERVICES 
Allows an application to modify the Google service map
允许程序修改Google服务地图

android.permission.WRITE_OWNER_DATA 
Allows an application to write (but not read) the owner’s data
允许一个程序写入但不读取所有者数据

android.permission.WRITE_SETTINGS 
Allows an application to read or write the system settings
允许程序读取或写入系统设置

android.permission.WRITE_SMS 
Allows an application to write SMS messages
允许程序写短信

android.permission.WRITE_SYNC_SETTINGS 
Allows applications to write the sync settings
允许程序写入同步设置


猜你喜欢

转载自blog.csdn.net/David_snjly/article/details/46851699