AndroidManifest清单文件

  • manifest
  • supports-screens
  • uses-configuration
  • uses-permission权限
  • application应用程序
  • activity
  • meta-data


manifest

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.freerdp.afreerdp"
    android:installLocation="auto"
    android:versionCode="1"
    android:versionName="1.0">
</manifest>

manifest

Value

xmlns

命名空间:android="http://schemas.android.com/apk/res/资源所在包名“

package

包名、应用程序进程的默认名字

installLocation

程序的安装位置:internalOnly(只能安装在内存、默认属性)、auto(默认安装在内存,空间不足时安装在外存)、preferExternal(默认安装在外存,空间不足时安装在内存)

versionCode

内部版本号:数字越大表明版本越新、必须为整数、不是显示给用户看的版本号

versionName

显示给用户的版本号、可以为原始字符串或一个字符串资源的引用

sharedUserId

定义Linux用户ID、APK身份的标识

sharedUserLabel

给用户ID定义了一个用户可读的标签

supports-screens

声明应用支持的分辨率类型

<supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:resizeable="true"
        android:smallScreens="true"
        android:xlargeScreens="true" />

项目

Value

anyDensity

是否包含了能够适用于任何屏幕密度的资源

resizeable

是否可以调整尺寸,增加屏幕适配的兼容性

uses-configuration

用于指定该应用程序所需要的硬件和软件功能

<uses-configuration android:reqFiveWayNav=["true" | "false"] 
                    android:reqHardKeyboard=["true" | "false"]
                    android:reqKeyboardType=["undefined" | "nokeys" | "qwerty" | "twelvekey"]
                    android:reqNavigation=["undefined" | "nonav" | "dpad" | "trackball" | "wheel"]
                    android:reqTouchScreen=["undefined" | "notouch" | "stylus" | "finger"] />

uses-permission权限

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

权限

功能

android.permission.ACCESS_NETWORK_STATE

访问网络状态

android.permission.ACCESS_WIFI_STATE

访问WI-FI状态信息

android.permission.ACCESS_COARSE_LOCATION

网络定位

android.permission.ACCESS_FINE_LOCATION

访问GPS定位

android.permission.ACCESS_NETWORK_STATE

获取运营商信息,用于支持提供运营商信息相关的接口

android.permission.ACCESS_WIFI_STATE

访问wifi网络信息

com.android.voicemail.permission.ADD_VOICEMALL

往系统中添加一封语音邮件

android.permission.BATTERY_STATS

更新手机电池统计信息

android.permission.BIND_APPWIDGET

通知AppWidget服务哪个应用程序可以访问AppWidget的数据(实例Launcher)

android.permission.BLUETOOTH

连接一个已经配对的蓝牙设备

android.permission.BLUETOOTH_ADMIN

主动发现和配对蓝牙设备

android.permission.BROADCAST_PACKAGE_REMOVED

医用程序发送应用程序包已经卸载的通知

android.permission.BROADCAST_SMS

应用程序广播短信回执通知

android.permission.BROADCAST_STICKY

应用程序广播Sticky Intent,应用程序可以快速访问广播的数据

android.permission.CALL_PHONE

应用程序初始化一次电话呼叫

android.permission.CAMERA

请求访问摄像设备

android.permission.CHANGE_CONFIGURATION

应用程序修改当前的配置(如语言种类,屏幕方向等)

android.permission.CHANGE_NEWWORK_STATE

应用程序改变连接状态

android.permission.CHANGE_WIFI_STATE

应用程序改变WI-FI连接状态

android.permission.DEVICE_POWER

访问底层设备电源管理

android.permission.EXPAND_STATUS_BAR

应用程序展开或者收起状态栏

android.permission.FLASHLIGHT

调用闪光灯

android.permission.GET_ACCOUNTS

读取通讯录

android.permission.INSTALL_LOCATION_PROVIDER

应用程序安装一个数据提供者到本地管理器中

android.permission.INSTALL_PACKAGES

应用程序安装另一个应用程序

android.permission.INTERNET

打开网络

android.permission.KILL_BACKGROUND_PROCESSES

调用killBackgroundProcesses()方法

android.permission.MODIFY_PHONE_STATE

修改电话状态,但不包括拨打电话

android.permission.MOUNT_FORMAT_FILESYSTEMS

应用程序格式化可移除的外部存储设备

android.permission.MOUNT_UNMOUNT_FILESYSTEMS

挂载或者卸载外部存储设备

android.permission.NFC

执行NFC的输入输出操作

android.permission.READ_CALENDAR

读取日历的数据

android.permission.READ_CONTACTS

读取联系人的数据

android.permission.READ_EXTERNAL_STORAGE

读取外存权限

android.permission.READ_PHONE_STATE

访问电话状态

android.permission.READ_SMS

访问短信信息

android.permission.RECEIVE_BOOT_COMPLETED

在系统完成以后接受到android.intent.action.BOOT_COMPLETED广播

android.permission.RECEIVE_MMS

监控MMS

android.permission.RECEIVE_SMS

监控SMS

android.permission.RECEIVE_WAP_PUSH

监控WAP的推送信息

android.permission.RECORD_AUDIO

震动器

android.permission.REQUEST_INSTALL_PACKAGES

读取手机当前的状态

android.permission.SEND_SMS

主动发送短息

android.permission.SET_TIME

设置系统时间

android.permission.SET_TIME_ZONE

设置系统时区

android.permission.SET_WALLPAPER

设置桌面壁纸

android.permission.STATUS_BAR

操作(打开/关闭/禁用)状态栏和它的图标

android.permission.SYSTEM_ALERT_WINDOW

调用相机

android.permission.VIBRATE

访问振动设备

android.permission.WAKE_LOCK

使用电源管理器的屏幕锁功能

android.permission.WRITE_CALENDAR

用户写入日历数据

android.permission.WRITE_CONTACTS

用户写入联系人数据

android.permission.WRITE_EXTERNAL_STORAGE

把数据写入外部存储设备

android.permission.WRITE_SETTINGS

读写系统设置

android.permission.WRITE_SMS

写短信

application应用程序

设置应用整体属性

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
</application>

activity

<activity
            android:name=".presentation.HomeActivity"
            android:alwaysRetainTaskState="true"
            android:label="@string/app_title"
            android:theme="@style/Theme.Main">
            <intent-filter android:label="@string/app_title">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

项目

Value

screenOrientation

设置当前Activity固定屏幕方向

configChanges

配置的内容变化是否重启生命周期

launchMode

设置当前Activity启动模式

exported

设置该activity是否可以被其他应用启动,设置为true也可以直接启动就进入该activity

windowSoftInputMode

共9个属性,可以分别为软键盘设置始终隐藏,始终显示,大小调整等类型

taskAffinity

指定在任务栈的标识

hardwareAccelerated

开启硬件加速

meta-data

提供任意可选的数据。

<meta-data
                android:name="android.app.searchable"
                android:resource="@xml/searchable" />
        <meta-data
            android:name="com.amap.api.v2.apikey"
            android:value="" />

未完待续