清单文件 示例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了清单文件 示例相关的知识,希望对你有一定的参考价值。
示例
<?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.READ_CONTACTS"/><!-- 标签<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,调试功能开关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-sdkandroid: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,小屏smallScreens、中屏normalScreens、大屏largeScreens、特大屏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消息过滤器的声明,可以放在<activity>、<activity-alias>、<service>和<receiver>元素标签中<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>
以上是关于清单文件 示例的主要内容,如果未能解决你的问题,请参考以下文章