2021@SDUSC
- AndroidManifest.xml配置文件
- `manifest` 标签
- `application` 标签
- 显示定位
- `uses-permission`
- Application中的service声明
- `meta-data`标签
每一个 Android 项目都包含一个单(Manifest)文件夹。其下有整个应用主配置清单文件 AndroidManifest.xml,它是 XML 格式的 Android 程序声明文件,
在其中包含 Android 系统运行程序前所必须掌握的重要信息,这些信息包含应用程序名称、图标、包名称、模块组成、授权和 SDK 最低版本等。在其中可包含较多的标签元素,其中
其中,
application 标签
位于
标签:应用程序显示的每一个 Activity 都要求有一个 标签,并使用 Android:name 属性指定类的名称。需要包含核心的启动 Activity 和其他所有可以显示的屏幕或者对话框。Android应用中的每一个Activity都必须在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。每一个 Activity 节点都允许使用 intent-filter 子标签来指定哪个 Intent 启动该活动。
为了访问用户定位,需要在AndroidManifest.xml中的
开发人员在开发软件的时候,也需要声明相应的权限。android:name的值可以是其他app通过
Android的权限在AndroidManifest.xml文件里配置。AndroidManifest文件中有四个标签与permission有关,它们分别是 permission、 permission-group、permission-tree 和 uses-permission。其中最常用的是 uses-permission,当程序中需要获取某个权限的时候就必须在manifest文件中声明uses-permission。
android.permission.INTERNET:获取网络访问权限,可能产生GPRS流量,开启网络可以使用网络定位;android.permission.ACCESS_NETWORK_STATE:获取网络信息状态,比如当前的网络连接是否有效;android.permission.READ_EXTERNAL_STORAGE:读取外置存储权限,如果开发者使用了so动态加载功能并且把so文件放在了外置存储区域,则需要申请该权限,否则不需要;android.permission.WRITE_EXTERNAL_STORAGE:允许程序写入外部存储,如SD卡上写文件android.permission.ACCESS_COARSE_LOCATION:允许一个程序访问CellID或WiFi热点来获取粗略的位置;android.permission.ACCESS_FINE_LOCATION:该权限可以获取精确位置,通过GPS芯片接收卫星的定位信息,定位精度达10米以内;
自定义权限方法如下:
android:label:定义权限介绍,将会显示给用户,值可以用String数据。
android:description:比label更长的对权限的描述。值是通过R文件中获取的,一般不要直接写string值,例如这里的”@string/hello”。
android:name:权限名字,如果其他应用软件引用该权限需要填写这个名字。
android:protectionLevel:权限级别,分为4个级别:normal:低风险权限,在安装的时候,系统会自动授予权限给该应用程序。dangerous:高风险权限,系统不会自动授予权限给app,在用到的时候,会给用户提示。signature:签名权限,在其他app引用声明的权限的时候,需要保证两个app的签名一致。这样系统就会自动授予权限给第三方app,而不提示给用户。signatureOrSystem:这个权限是引用该权限的app需要有和系统同样的签名才能授予的权限,一般不推荐使用。
声明一个service(Service的子类)作为应用程序的组件。 与activities不同,services没有用户界面。它们被用来实现了后台长期运行操作或者提供一个丰富的交互API供其它应用程序使用。所有的service在manifest文件中用如上附代码service标签代表。android系统不能发现没有声明在manifest文件中的service,service将不能运行。
android:name:服务类名,发布应用程序后,不应更改此名称,除非设置 android:exported=“false”。;android:enabled:服务开关,指示这个service是否能被android系统实例化。android:process:要运行服务的进程的名称。通常,应用程序的所有组件都在为应用程序创建的默认进程中运行,它与应用程序包同名。如果分配给此属性的名称以冒号 (’:’) 开头,如上附代码,则会在需要时创建应用程序私有的新进程,并且服务在该进程中运行。



