Android笔记(十一) Android中的布局——AndroidManiFest.xml

AndroidManiFest.xml清单文件是每个Android项目所必须的,它是整个Android应用的全局描述文件。AndroidManiFest.xml清单文件说明了该应用的名称、所使用的图标以及包含的组件等等。

AndroidManiFest.xml清单文件通常包含如下信息:

1. 应用程序的包名,该包名将会作为该应用的唯一标识

2. 应用所包含的组件,如Activity、Service、BroadcastReceiver和ContentProvider等

3. 应用程序兼容的最低版本

4. 应用程序使用系统所需的权限声明

5. 其他程序访问该程序所需的权限声明

下面是一份简单的AndroidManiFest.xml清单文件

<?xml version="1.0" encoding="utf-8"?>
<!-- 指定该Android应用的包名 该包名可用于唯一地表示该应用-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="cn.lixyz.layoutdemo" >

    <!-- 指定Android应用标签、图标等信息 -->
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <!-- 定义Android应用的一个组件:Activity,该Activity的类为MainActivity,并指定该Activity的标签 -->
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <!-- 指定该Activity是程序的入口 -->
                <action android:name="android.intent.action.MAIN" />
                <!-- 指定加载该应用时运行该Activity -->
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

  

一个Android应用可能需要权限才能调用Android系统的功能,一个Android应用也可能被其他应用调用,因此它需要声明调用自身所需要的权限。

1. 声明运行该应用本身所需要的权限

通过为<manifest.../>元素添加<uses-permission.../>子元素即可为程序本身声明权限

例如在<manifest.../>元素里添加如下代码

<!-- 声明该应用本身需要打电话的权限 -->

<uses-permission android:name="android.permission.CAL_PHONE">

2. 声明调用该应用所需的权限

通过为应用的各个组件元素,例如<activity.../>元素添加<uses-permission.../>子元素即可声明调用该程序所需的权限

例如在<activity.../>元素添加如下代码

<!-- 声明该应用本身需要发送短信的权限 -->

<uses-permission android:name="android.permission.SEND_SMS">

通过上面的介绍可以看出<uses-permission>元素的用法倒不难,但到底有多少权限呢?实际上Android提供了大量权限,这些权限都位于ManiFest.permission类中,一般来说如下表所示:


ACCESS_CHECKIN_PROPERTIES


允许在登入数据库的时候读写其中的属性表,并上传改变的值


ACCESS_COARSE_LOCATION


允许应用访问范围(如WIFI)性的定位


ACCESS_FINE_LOCATION


允许应用访问精确(如GPS)性的定位


ACCESS_LOCATION_EXTRA_COMMANDS


允许应访问额外的提供定位的指令


ACCESS_MOCK_LOCATION


允许应用创建用于测试的模拟定位提供者


ACCESS_NETWORK_STATE


允许应用访问网络上的信息


ACCESS_SURFACE_FLINGER


允许应用使用低版本视图的特征


ACCESS_WIFI_STATE


允许应用访问关羽Wi-Fi网络的信息


ACCOUNT_MANAGER


允许应用进入帐户认证


AUTHENTICATE_ACCOUNTS


允许应用为ACCOUNT_MANAGER扮演一个帐户认证系统


BATTERY_STATS


允许应用去统计电源信息


BIND_APPWIDGET


允许应用告诉AppWidget哪个应用能够访问该AppWidget的数据


BIND_DEVICE_ADMIN


必须通过关机接收者的请求来确保只有系统能够与之交互


BIND_INPUT_METHOD


必须通过InputMethodService的请求来确保只有系统能够与之绑定


BIND_WALLPAPER


必须通过WallpaperService的请求来确保只有系统能够与之绑定


BLUETOOTH


允许应用去连接蓝牙设备


BLUETOOTH_ADMIN


允许应用找到与之连接的蓝牙设备


BRICK


被请求废止设备(非常危险)


BROADCAST_PACKAGE_REMOVED


允许应用发出一个程序包被移除的广播消息


BROADCAST_SMS


允许应用发出一个收到短信的消息


BROADCAST_STICKY


允许应用发出一个与intent相连的消息


BROADCAST_WAP_PUSH


允许应用发出一个收到WAP PUSH的广播消息


CALL_PHONE


允许应用启动一个用户确认电话被拨打而不通过拨打电话的用户界面的的拨打程序


CALL_PRIVILEGED


允许应用启动一个用户确认电话被拨打而不通过拨打电话的用户界面的的任意号码的拨打,包括紧急号码.


CAMERA


能够启动照相机设备的请求


CHANGE_COMPONENT_ENABLED_STATE


允许应用去改变一个应用是否是激活状态


CHANGE_CONFIGURATION


允许应用修改当前的配置,如本地设置


CHANGE_NETWORK_STATE


允许应用改变网络的连接状态


CHANGE_WIFI_MULTICAST_STATE


允许应用进入Wi-Fi的组播方式


CHANGE_WIFI_STATE


允许应用改变Wi-Fi的连接状态


CLEAR_APP_CACHE


允许应用清除所有安装在设备上的应用的缓存


CLEAR_APP_USER_DATA


允许应用清除使用者的信息资料


CONTROL_LOCATION_UPDATES


允许从广播设备来更新或不更新本地的消息


DELETE_CACHE_FILES


允许应用删除掉缓存文件


DELETE_PACKAGES


允许应用删除掉程序包


DEVICE_POWER


允许低权限的访问电源管理项


DIAGNOSTIC


允许应用诊断程序资源


DISABLE_KEYGUARD


允许应用禁用键盘锁


DUMP


允许应用从系统服务中恢复转储的信息


EXPAND_STATUS_BAR


允许应用扩大或缩小状态栏


FACTORY_TEST


如制造商测试的应用一样用终极权限用户运行


FLASHLIGHT


允许访问手电筒


FORCE_BACK


允许应用强制的返回操作而不论是不是最终的activity


GET_ACCOUNTS


允许应用访问账目服务中的统计清单


GET_PACKAGE_SIZE


允许应用查找出任何程序包使用的空间


GET_TASKS


允许应用找到关于当前或最近运行的任务和在哪些acitivities里运行


GLOBAL_SEARCH


这个权限可以被内容提供者用来允许使用全程搜索他们的数据


HARDWARE_TEST


允许访问硬件及周边设备.


INJECT_EVENTS


允许应用注入用户事件(键盘、触摸)到事件中然后提供给任意的窗口


INSTALL_LOCATION_PROVIDER


允许应用安装一个位置提供商到位置管理器中


INSTALL_PACKAGES


允许应用安装程序包.


INTERNAL_SYSTEM_WINDOW


允许应用打开被部分系统用户接口使用的窗口


INTERNET


允许应用打开网络套接口


KILL_BACKGROUND_PROCESSES


允许应用去呼叫killBackgroundProcesses(String).方法


MANAGE_ACCOUNTS


允许应用去管理帐户管理者中的重要清单


MANAGE_APP_TOKENS


允许应用去管理(创建、销毁、顺序)在窗口管理者中的应用


MASTER_CLEAR


 


MODIFY_AUDIO_SETTINGS


允许应用修改全局音频设定


MODIFY_PHONE_STATE


允许改变拨打电话的状态-电源等


MOUNT_FORMAT_FILESYSTEMS


允许格式化可移除的存储仓库的文件系统


MOUNT_UNMOUNT_FILESYSTEMS


允许装备或解除可移除的存储仓库的文件系统


PERSISTENT_ACTIVITY


允许应用使它的activities更持久稳固


PROCESS_OUTGOING_CALLS


允许应用监督、限定或终止呼出的电话


READ_CALENDAR


允许应用读取用户的日历数据


READ_CONTACTS


允许应用读取用户的联系人数据


READ_FRAME_BUFFER


允许应用抓取屏幕和更多可获得的缓冲数据


READ_HISTORY_BOOKMARKS


允许应用去读取(非写)用户浏览历史和书签


READ_INPUT_STATE


允许应用去的当前键盘和控制的状态


READ_LOGS


允许应用读取低级别的系统日志文件


READ_OWNER_DATA


允许应用读取所有者的数据


READ_PHONE_STATE


允许读取电话的状态


READ_SMS


允许应用读取短信息.


READ_SYNC_SETTINGS


允许应用读取同步的设置


READ_SYNC_STATS


允许应用读取同步的统计数据


REBOOT


重新启动设备的请求


RECEIVE_BOOT_COMPLETED


允许应用接收在系统完成启动后发出的ACTION_BOOT_COMPLETED广播信息


RECEIVE_MMS


允许应用去监听多媒体信息并记录和对起进行处理


RECEIVE_SMS


允许应用去监听短消息并记录和对起进行处理


RECEIVE_WAP_PUSH


允许应用监听WAP push信息


RECORD_AUDIO


允许应用记录音频信息


REORDER_TASKS


允许应用改变任务的关系位置


RESTART_PACKAGES


已废弃使用


SEND_SMS


允许应用发送短消息.


SET_ACTIVITY_WATCHER


允许应用查看和控制activities是怎样在系统中运行的


SET_ALWAYS_FINISH


允许应用去控制当activities被覆盖后是否是立即接触结束


SET_ANIMATION_SCALE


改变动画的比例因子


SET_DEBUG_APP


设置一个应用为调试模式


SET_ORIENTATION


允许低级别的设置屏幕的方向


SET_PREFERRED_APPLICATIONS


已废弃


SET_PROCESS_LIMIT


允许应用设置可以运行的最大数的应用进程


SET_TIME


允许应用设置系统时间


SET_TIME_ZONE


允许应用设置系统时区时间


SET_WALLPAPER


允许应用设置壁纸


SET_WALLPAPER_HINTS


允许应用设置锁定的壁纸


SIGNAL_PERSISTENT_PROCESSES


允许应用发出一个给所有稳定进程信号的请求


STATUS_BAR


允许应用打开、关闭或使状态栏或图标失去作用


SUBSCRIBED_FEEDS_READ


允许应用访问内容提供者的签署认证


SUBSCRIBED_FEEDS_WRITE


 


SYSTEM_ALERT_WINDOW


允许应用使用TYPE_SYSTEM_ALERT来打开窗口,并将窗口显示于其他应用的顶端


UPDATE_DEVICE_STATS


允许应用更新设备资料信息


USE_CREDENTIALS


允许应用从管理器得到授权请求


VIBRATE


允许应用访问震动器


WAKE_LOCK


允许使用电源锁定管理以使进程休眠或屏幕变暗


WRITE_APN_SETTINGS


允许应用去写入接入点设置


WRITE_CALENDAR


允许应用写(非读)用户的日历数据


WRITE_CONTACTS


允许应用写(非读)用户的联系人数据


WRITE_EXTERNAL_STORAGE


允许应用写(非读)用户的外部存储器


WRITE_GSERVICES


允许应用修改Google服务地图


WRITE_HISTORY_BOOKMARKS


允许应用写(非读)用户的浏览器历史和书签


WRITE_OWNER_DATA


允许应用写(非读)用户的数据


WRITE_SECURE_SETTINGS


允许应用写或读当前系统设置


WRITE_SETTINGS


允许应用写或读系统设置


WRITE_SMS


允许应用写短消息信息


WRITE_SYNC_SETTINGS


允许应用写同步设置

时间: 2024-10-21 17:10:59

Android笔记(十一) Android中的布局——AndroidManiFest.xml的相关文章

Android笔记:java 中的数组

在与嵌入式设备通讯的过程中使用的socket通讯 获取的字节流,通常转换为字节数组,需要根据协议将字节数组拆分.对于有规律的重复拆分可以使用,由于java中不能像c中直接进行内存操作例如使用struct 内存拷贝可以直接实现,这里考虑的是借用数组拷贝的方式来实现. java数组复制参考 引自百度空间 同时参考 数组拷贝之java.lang.System.arraycopy和java.util.Arrays.copyOf方法 java数组复制的4种方式,java数组拷贝问题 JAVA数组的复制是引

Android笔记十一.ListView+Adapter

深入理解Adapter 一.ListView ListView是Android开发过程中较为常见的组件之一,它将数据以列表的形式展现出来.一般而言,一个ListView由以下三个元素组成: 1.View:展示列表视图,通常是一个xml所指定的.大家都知道Android的界面基本上是由xml文件负责完成的,所以ListView的界面也理所应当的使用了xml定义.例如在ListView中经常用到的"android.R.layout.simple_list_item_1"等, 就是Andro

自学Android笔记——在activity中使用intent

一.Intent介绍: Intent的中文意思是"意图,意向",在Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 Intent传递给调用的组件,并完成组件的调用.Intent不仅可用于应用程序之间,也可用于应用程序内部的Activity/Service之间的交互.因此,可以将Intent理解为不同组件之间通信的"媒介&quo

【Android笔记】Fragment中显示高德地图

本文来自:fair-jm.iteye.com 转截请注明出处 官网的教程是在Activity下 在Fragment下在高德论坛找到一些方法 试了下可以显示 但是切换后总会有些问题 比如切换后就是新的了 切换后地图就不显示了 我这种方式可以在切换后保持地图状态 但是得限定屏幕为水平或者竖直 如果翻转的话也会报错 布局文件: 1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns

【Android笔记】Android创建启动画面

每个Android应用启动之后都会出现一个Splash启动界面,显示产品的LOGO.公司的LOGO或者开发者信息.如果应用程序启动时间比较长,那么启动界面就是一个很好的东西,可以让用户耐心等待这段枯燥的时间. 1.制作Splash界面 突出产品LOGO,产品名称,产品主要特色: 注明产品的版本信息: 注明公司信息或者开发者信息: 背景图片,亦可以用背景颜色代替: 2.处理后台资源 大多数的Splash界面都是会等待一定时间,然后切换到下一个界面: 其实,在这段时间里,可以对系统状况进行检测,比如

【Android笔记】Android与服务器数据库通信的方法

1.Android平台下与服务器数据库通信的方法 在Android平台下,连接电脑服务器的MySQL.PostgreSQL.Oracle.Sybase.Microsoft SQLServer等数据库管理系统DBMS(database management system),主要有以下两种方法: 方法1.直接连接 在Android工程中引入JDBC驱动,直接连接.(本文主要介绍此种方法) 方法2.间接连接 在服务器上用PHP+DBMS做服务器端,PHP将DBMS中的数据用json或者xml进行封装.

【Android笔记】Android的三种网络通信方式

Android平台有三种网络接口可以使用,他们分别是:java.net.*(标准Java接口).Org.apache接口和Android.net.*(Android网络接口).下面分别介绍这些接口的功能和作用. 1.标准Java接口java.net.*提供与联网有关的类,包括流.数据包套接字(socket).Internet协议.常见Http处理等.比如:创建URL,以及URLConnection/HttpURLConnection对象.设置链接参数.链接到服务器.向服务器写数据.从服务器读取数

【Android笔记】Android与服务器通信 http和socket两种形式

1. http形式 服务器端建立: EncodingFilter.java代码如下: 1 package com.example; 2 3 import java.io.IOException; 4 5 import javax.servlet.Filter; 6 7 import javax.servlet.FilterChain; 8 9 import javax.servlet.FilterConfig; 10 11 import javax.servlet.ServletExceptio

Android笔记: Android版本号

由于有2套版本号 总是对应不准 记下来做过标记 Android 4.3 ----18 Android 4.2---17 Android 4.1---16 Android 4.0.3---15Android 4.0---14Android 3.2---13Android 3.1---12Android 3.0---11Android 2.3.3---10Android 2.3---9 Android 2.2---8Android 2.1---7Android 2.0.1---6Android 2.