android清单文件属性
来源:互联网 发布:js number() 编辑:程序博客网 时间:2024/06/06 00:07
学习时获得的,没有具体来源,无法写出原地址
<?xml version="1.0" encoding="utf-8"?>
<!-- xmlns:android 指定了Android的命名空间,默认情况下是“http://schemas.android.com/apk/res/android”-->
<!-- android:versionCode是给设备程序识别版本用的,必须是一个整数值代表app更新过多少次 -->
<!-- android:versionName则是给用户查看版本用的,需要具备一定的可读性,比如:"1.0" -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.manifestdemo"
android:versionCode="1"
android:versionName="1.0">
<!-- 基本配置 -->
<!-- 网络相关的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 读取电话的权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- 通知相关功能的权限 -->
<uses-permission android:name="android.permission.VIBRATE"/>
<!-- 权限声明标签,定义了供给<uses-permission>使用的具体权限,通常情况下我们不需要为自己的应用程序声明某个权限,
除非需要给其他应用程序提供可调用的代码或者数据,这个时候你才需要使用<permission>标签。
该标签中提供了android:name权限名标签,
权限图标android:icon以及权限描述android:description等属性,
另外还可以和<permission-group>以及<permission-tree>配合使用来构造更有层次的、更有针对性权限系统。 -->
<permission android:name="string"
android:description="@string/action_settings"
android:label="@string/app_name"
android:permissionGroup="string"
android:protectionLevel="normal"/>
<!-- permission-tree和permission-group不做理解 -->
<permission-tree />
<permission-group android:name="string"/>
<!-- 用于声明Instrumentation测试类来监控Android应用的行为并应用到相关的功能测试中.
重要的属性有:
测试功能开关android:functionalTest,profiling
调试功能开关android:handleProfiling,
测试用例目标对象android:targetPackage等。
注意:Instrumentation对象是在应用程序的组件之前被实例化的,这点在组织测试逻辑的时候需要被考虑到
-->
<instrumentation android:targetPackage="string"
android:name="string"
android:functionalTest="true"
android:handleProfiling="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"/>
<!-- 用于指定Android应用中所需要使用的SDK的版本 -->
<uses-sdk
android:targetSdkVersion="8"
android:minSdkVersion="8"
android:maxSdkVersion="19"/>
<!-- uses-configuration和uses-feature用于描述应用所需要的硬件和软件特性,以便防止应用在没有这些特性的设备上安装。 -->
<uses-configuration android:reqKeyboardType="nokeys"/>
<!-- 设备需要支持蓝牙 -->
<uses-feature android:name="android.hardware.bluetooth"/>
<!-- 指定支持的屏幕特征 -->
<!-- 重要的属性包括:
屏幕自适应属性android:resizeable,
小屏(android:smallScreens)、中屏(android:normalScreens)、大屏(android:largeScreens)和
特大屏(android:xlargeScreens)支持属性,
按屏幕渲染图像属性android:anyDensity以及最小屏幕宽度属性android:requiresSmallestWidthDp等 -->
<supports-screens android:resizeable="true"/>
<compatible-screens />
<supports-gl-texture />
<!-- 应用配置 -->
<application>
<!-- Activity 配置 -->
<!-- 加载模式android:launchMode,键盘交互模式android:windowSoftInputMode -->
<activity android:name="com.example.manifest.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data />
</activity>
<!-- Activity组件别名的声明标签,简单来说就是Activity的快捷方式,属性android:targetActivity表示的就是其相关的Activity名,
当然必须是前面已经声明过的Activity。 -->
<activity-alias>
<intent-filter> . . . </intent-filter>
<meta-data />
</activity-alias>
<!-- <intent-filter>用于Intent消息过滤器的声明,<intent-filter>元素
可以放在<activity>、<activity-alias>、<service>和<receiver>元素标签中,
来区分可用于处理消息的Activity控制器、Service服务和广播接收器Broadcast Receiver。
另外,我们还知道Intent消息还包含有名称、动作、数据、类别等几个重要属性。
这点与该标签的写法也有一定的关系,比如<intent-filter>中必须包含有
<action>元素用于描述具体消息的名称;
<category>标签则用于表示能处理消息组件的类别,即该Action所符合的类别;
<data>元素则用于描述消息需要处理的数据格式,我们甚至还可以使用正则表达式来限定数据来源。 -->
<!-- Service 配置 -->
<service android:name=""
android:permission="android.permission.ACCESS_WIFI_STATE"
android:enabled="true">
<intent-filter> . . . </intent-filter>
<!-- 用于存储预定义数据,和<intent-filter>类似,
<meta-data>也可以放在<activity>、<activity-alias>、<service>和<receiver>这四个元素标签中。
Meta数据一般会以键值对的形式出现,个数没有限制,而这些数据都将被放到一个Bundle对象中,
程序中我们则可以使用ActivityInfo、ServiceInfo甚至ApplicationInfo对象的metaData属性中读取。
假设我们在一个Activity中定义了一个<meta-data>元素, -->
<meta-data android:name="testData" android:value="Test Meta Data"/>
<!-- ActivityInfo info = this.getPackageManager()
.getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
String testData = info.metaData.getString("testData");
System.out.println("testData:" + testData); -->
</service>
<!-- Receiver 配置 -->
<!-- Boardcast Receiver广播接收器组件的声明标签,用于定义与描述一个具体的Android广播接收器 -->
<receiver android:name="">
<intent-filter> . . . </intent-filter>
<meta-data />
</receiver>
<!-- Provider 配置 -->
<!-- ContentProvider内容提供者的声明标签
内容提供者标识名称android:authorities,
对指定URI授予权限标识android:grantUriPermission以及具体的读、写权限,即android:readPermission和android:writePermission -->
<provider android:name=""
android:authorities="" >
<!-- 如果内容提供器的grantUriPermissions属性被设置为true,那么权限能够被授予内容提供器范围内的任何数据。
但是,如果grantUriPermission属性被设置为false,那么权限就只能授予这个元素所指定的数据子集。
一个内容提供器能够包含任意多个个<grant-uri-permission>元素。每个都只能指定一个路径 -->
<grant-uri-permission />
<meta-data />
</provider>
<!-- 所需类库配置 -->
<!-- 用于指定Android应用可使用的用户库,除了系统自带的android.app、android.content、android.view
和android.widget这些默认类库之外,有些应用可能还需要一些其他的Java类库作为支持,这种情况下我们就可以
使用<uses-library>标签让ClassLoader加载其类库供Android应用运行时用。 -->
<uses-library android:name="string"
android:required="true"/>
</application>
</manifest>
<!-- xmlns:android 指定了Android的命名空间,默认情况下是“http://schemas.android.com/apk/res/android”-->
<!-- android:versionCode是给设备程序识别版本用的,必须是一个整数值代表app更新过多少次 -->
<!-- android:versionName则是给用户查看版本用的,需要具备一定的可读性,比如:"1.0" -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.manifestdemo"
android:versionCode="1"
android:versionName="1.0">
<!-- 基本配置 -->
<!-- 网络相关的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 读取电话的权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- 通知相关功能的权限 -->
<uses-permission android:name="android.permission.VIBRATE"/>
<!-- 权限声明标签,定义了供给<uses-permission>使用的具体权限,通常情况下我们不需要为自己的应用程序声明某个权限,
除非需要给其他应用程序提供可调用的代码或者数据,这个时候你才需要使用<permission>标签。
该标签中提供了android:name权限名标签,
权限图标android:icon以及权限描述android:description等属性,
另外还可以和<permission-group>以及<permission-tree>配合使用来构造更有层次的、更有针对性权限系统。 -->
<permission android:name="string"
android:description="@string/action_settings"
android:label="@string/app_name"
android:permissionGroup="string"
android:protectionLevel="normal"/>
<!-- permission-tree和permission-group不做理解 -->
<permission-tree />
<permission-group android:name="string"/>
<!-- 用于声明Instrumentation测试类来监控Android应用的行为并应用到相关的功能测试中.
重要的属性有:
测试功能开关android:functionalTest,profiling
调试功能开关android:handleProfiling,
测试用例目标对象android:targetPackage等。
注意:Instrumentation对象是在应用程序的组件之前被实例化的,这点在组织测试逻辑的时候需要被考虑到
-->
<instrumentation android:targetPackage="string"
android:name="string"
android:functionalTest="true"
android:handleProfiling="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"/>
<!-- 用于指定Android应用中所需要使用的SDK的版本 -->
<uses-sdk
android:targetSdkVersion="8"
android:minSdkVersion="8"
android:maxSdkVersion="19"/>
<!-- uses-configuration和uses-feature用于描述应用所需要的硬件和软件特性,以便防止应用在没有这些特性的设备上安装。 -->
<uses-configuration android:reqKeyboardType="nokeys"/>
<!-- 设备需要支持蓝牙 -->
<uses-feature android:name="android.hardware.bluetooth"/>
<!-- 指定支持的屏幕特征 -->
<!-- 重要的属性包括:
屏幕自适应属性android:resizeable,
小屏(android:smallScreens)、中屏(android:normalScreens)、大屏(android:largeScreens)和
特大屏(android:xlargeScreens)支持属性,
按屏幕渲染图像属性android:anyDensity以及最小屏幕宽度属性android:requiresSmallestWidthDp等 -->
<supports-screens android:resizeable="true"/>
<compatible-screens />
<supports-gl-texture />
<!-- 应用配置 -->
<application>
<!-- Activity 配置 -->
<!-- 加载模式android:launchMode,键盘交互模式android:windowSoftInputMode -->
<activity android:name="com.example.manifest.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data />
</activity>
<!-- Activity组件别名的声明标签,简单来说就是Activity的快捷方式,属性android:targetActivity表示的就是其相关的Activity名,
当然必须是前面已经声明过的Activity。 -->
<activity-alias>
<intent-filter> . . . </intent-filter>
<meta-data />
</activity-alias>
<!-- <intent-filter>用于Intent消息过滤器的声明,<intent-filter>元素
可以放在<activity>、<activity-alias>、<service>和<receiver>元素标签中,
来区分可用于处理消息的Activity控制器、Service服务和广播接收器Broadcast Receiver。
另外,我们还知道Intent消息还包含有名称、动作、数据、类别等几个重要属性。
这点与该标签的写法也有一定的关系,比如<intent-filter>中必须包含有
<action>元素用于描述具体消息的名称;
<category>标签则用于表示能处理消息组件的类别,即该Action所符合的类别;
<data>元素则用于描述消息需要处理的数据格式,我们甚至还可以使用正则表达式来限定数据来源。 -->
<!-- Service 配置 -->
<service android:name=""
android:permission="android.permission.ACCESS_WIFI_STATE"
android:enabled="true">
<intent-filter> . . . </intent-filter>
<!-- 用于存储预定义数据,和<intent-filter>类似,
<meta-data>也可以放在<activity>、<activity-alias>、<service>和<receiver>这四个元素标签中。
Meta数据一般会以键值对的形式出现,个数没有限制,而这些数据都将被放到一个Bundle对象中,
程序中我们则可以使用ActivityInfo、ServiceInfo甚至ApplicationInfo对象的metaData属性中读取。
假设我们在一个Activity中定义了一个<meta-data>元素, -->
<meta-data android:name="testData" android:value="Test Meta Data"/>
<!-- ActivityInfo info = this.getPackageManager()
.getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
String testData = info.metaData.getString("testData");
System.out.println("testData:" + testData); -->
</service>
<!-- Receiver 配置 -->
<!-- Boardcast Receiver广播接收器组件的声明标签,用于定义与描述一个具体的Android广播接收器 -->
<receiver android:name="">
<intent-filter> . . . </intent-filter>
<meta-data />
</receiver>
<!-- Provider 配置 -->
<!-- ContentProvider内容提供者的声明标签
内容提供者标识名称android:authorities,
对指定URI授予权限标识android:grantUriPermission以及具体的读、写权限,即android:readPermission和android:writePermission -->
<provider android:name=""
android:authorities="" >
<!-- 如果内容提供器的grantUriPermissions属性被设置为true,那么权限能够被授予内容提供器范围内的任何数据。
但是,如果grantUriPermission属性被设置为false,那么权限就只能授予这个元素所指定的数据子集。
一个内容提供器能够包含任意多个个<grant-uri-permission>元素。每个都只能指定一个路径 -->
<grant-uri-permission />
<meta-data />
</provider>
<!-- 所需类库配置 -->
<!-- 用于指定Android应用可使用的用户库,除了系统自带的android.app、android.content、android.view
和android.widget这些默认类库之外,有些应用可能还需要一些其他的Java类库作为支持,这种情况下我们就可以
使用<uses-library>标签让ClassLoader加载其类库供Android应用运行时用。 -->
<uses-library android:name="string"
android:required="true"/>
</application>
</manifest>
0 0
- Android 清单文件属性大全
- Android清单文件属性大全
- Android清单文件属性大全
- Android清单文件属性大全
- Android 清单文件属性大全
- android清单文件属性
- Android清单文件属性大全
- Android清单文件属性介绍
- Android清单文件属性大全
- Android 清单文件属性大全
- android xml文件属性
- Android布局文件属性笔记
- Android 布局文件属性讲解
- Android布局文件属性笔记
- Android布局文件属性笔记
- android自定义xmls文件属性
- Android布局文件属性值
- Android shape文件属性详解
- UVA 12113 - Overlapping Squares
- 使用SqlDependency类及利用SQL2008的Service Broker来检测数据改动的实现(二)
- mos管开关电路整理(转)
- 《Java语言程序设计(第2版)》
- 八大理由告诉你,微信电商为什么走不通
- android清单文件属性
- 打印螺旋数组
- 就回家了凉快凉快凉快凉快凉快凉快
- 反渗透设备:反渗透水处理设备技术特点剖析
- The Hardest Problem Ever
- 在caffe上跑自己的数据
- 互联网O2O你能再任性点吗?
- Android屏幕适配方案
- 生男生女真的那么重要吗?