Android Studio的代码笔记--AndroidManifest清单文件

AndroidManifest清单文件

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="" />

未完待续

上一篇:tidb的TiDB Binlog


下一篇:MySQL的四种日志