【Android 学习笔记】 AndroidManifest 配置信息

本文详细介绍了AndroidManifest.xml的重要元素,包括<application>的设置、<uses-sdk>指定的API级别、<uses-feature>定义的应用需求、<activity>注册Activity、<uses-permission>请求权限,以及服务和广播接收器的注册等,帮助开发者全面理解Android应用程序的配置核心。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<manifest>  标记中   定义版本名 版本号 package 例如

 

例如:

<manifest

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

	package="com.androidbook.multimedia"

	android:versionCode="1"

	android:versionName="1.0" >

 

<application>标记 用来设置应用程序的总体设置  如 程序图标和友好名称

 

例如:

<application  android:icon="@drawable/icon"

	android:label="string/app_name" >


 

其他还可以标记的属性有:

应用程序描述:(android:description)

是否支持设备调试:(android:debuggable="true")

等….

 

<uses-sdk> 标记来制定应用程序锁支持的Android平台版本。这个标记由3个重要属性组成:

minSdkVersion属性:该属性指定应用程支持的最低API Level。

targetSdkVersion属性:该属性指定应用程序支持的最佳API Level。

maxSdkVersion属性:该属性指定应用程序支持的最高API Level。

 

例如:

指定最低SDK版本:

<uses-sdk android:minSdkVersion="4" />

指定目标SDK版本:

<uses-sdk android:minSdkVersion="4"  android:targetSdkVersion="8" />

<uses-configuration>标记可以用来指定应用程序所支持的输入方式。

包括:五向导航键  硬件键盘 方向感  轨迹球 滚轮 触屏等设备

 

例如:既需要支持物理键盘 又需要支持触屏

<uses-configuration android:reqHardKeyboard="true"

	android:reqTouchScreen="finger" />

<uses-configuration android:reqHardKeyboard="trur"

	android:reqTouchScreen=stylus" />

<uses-feature>标记可以用来指定应用程序正常运行所需的Android特性。

 

例如:需要光传感器和接近传感器支持 需要定义两个标记

<uses-feature android:name="android.hardware.sensor.light" />

<uses-feature android:name="android.hardware.sensor.proximity" />
 

<supports-screen>标记可以用来指定应用程序所支持的Android屏幕类型

 

例如:应用程序支持 QVGA(小)和 HVGA (普通)屏幕而不考虑像素密度

<supports-screens android:smallScreens="true"

	android:nrmalScreens="true"

	android:largeScreens"false"

	android:anyDensity="true" />


 

<uses-library>若应用程序链接到了其他附加的包,

那么他们必须在<application>标记内使用<uses-library>标记进行注册。

 

例如:

<uses-library android:name="com.shardelibrary.sharedStuff" />

<activity> 应用程序的每一个Activity均需要在Manifest文件中使用<activity>予以定义(注册)

 

例如:

<activity android:name="AudioActivity" />

要在<manifest>中指定包 还可以在Activity的名称中使用“.”作为前缀指定Activity类的作用域

 

例如:

<activity android:name=".AudioActivity" />


或者可以指定完整的类名

<activity android:name="com.androidbook.multimedia.AudioActivity" />
 

使用 MAIN 动作类型 和 LAUNCHER 族

使用 Intent 过滤器为应用程序指派主入口点 Activity

 

将一个名为 MainMenuActivity 的 Activity 配置为应用程序的主入口点:

 

<activity android:name=".MultimediaMenuActivity"

	Android:label="@string/app_name">

	<intent-filter>

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

		<category android:name="android.intent.category.LAUNCHER" />

	<intent-filter>

</activity>


 

配置其他 Intent 过滤器

Intent过滤器使用<intent-filter>标记定义,它必须包含至少一个<action>标记,也可包含其他信息

 

例如:(该段代码出现在 <activity> 区段中)

<intent-filter>

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

		<category android:name="android.intent.category.BROWSABLE" />

		<category android:name="android.intent.category.DEFAULT" />

		<data android:scheme="geoname" />

</intent-filter>


 

注册服务和广播接收器(Broadcast Receiver)

所有的应用程序组件都需在 AndroidManifest 文件中定义(注册)。

其中,服务使用 <service> 标记注册,广播接收器使用 <receiver> 标记注册。他们均使用 Intent 过滤器。

 

注册内容提供器(Content Provider)

内容提供器使用 <provider> 标记声明。

 

<uses-permission>标记应用程序所需的许可权限

(对数据、底层硬件的访问(使用)权限)

 

例如:使用内置摄像头的权限

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

 

Manifest 文件的其他参数

其他一些可以在AndroidManifest文件中进行配置的特性包括:

1、作为<application>标记的属性设置应用程序域主题;

2、使用<instrumentation>标记配置检测设置;

3、使用<activity-alias>标记为Activity定义别称;

4、使用<intent-filter>标记创建Intent过滤器 ;

5、使用<receiver>标记创建广播接收器。

 

更多详细描述 请阅读 Android SDK 参考。

 

ps:代码及资料整理于 Lauren Darcey & Shane Conder 出版的 《Android Wireless Application Development 》

                                                                                                                      

                                                                                                                                                                                                 END

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值