结构

继承关系

public final class Manifest extends Object

java.lang.Object

android.Manifest

内部类

  1. class  Manifest.permission权限
  2. class  Manifest.permission_group权限组

构造函数

public Manifest ()

具体

android:allowTaskReparenting

  • 使用方法<application android:allowTaskReparenting="true/false"></application>
  • 是否同意activity更换从属的任务,比方从短信息任务 切换到浏览器任务。
  • 用来标记Activity是否能从启动的Task移动到有着affinity的Task(当这个Task进入到前台时)
    • “true”,能移动
    • “false”,它必须呆在启动时呆在的那个Task里。默认值为“false”

一般来说,当Activity启动后。它就与启动它的Task关联,而且在那里耗尽它的整个生命周期。

当当前的Task不再显示时,你能够使用这个特性来强制Activity移动到有着affinity的Task中。典型使用方法是:把一个应用程序的Activity移到还有一个应用程序的主Task中。

比如。假设e-mail中包括一个web页的链接。点击它就会启动一个Activity来显示这个页面。

这个Activity是由Browser应用程序定义的,可是。如今它作为e-mail Task的一部分。

假设它又一次宿主到Browser Task里。当Browser下一次进入到前台时,它就能被看见,而且,当e-mail Task再次进入前台时,就看不到它了。

Actvity的affinity是由taskAffinity特性定义的。Task的affinity是通过读取根Activity的affinity 决定。因此。依据定义,根Activity总是位于同样affinity的Task里。因为启动模式为“singleTask”和 “singleInstance”的Activity仅仅能位于Task的底部。因此,又一次宿主仅仅能限于“standard”和“singleTop”模式。

android:alwaysRetainTaskState

  • 使用方法<activity android:alwaysRetainTaskState="true/false"></activity>
  • 标记Activity所在的Task的状态是否总是由系统来保持
    • “true”。表示总是
    • “false”。表示在某种情形下同意系统恢复Task 到它的初始化状态。默认值是“false”。

  • 这个特性仅仅针对Task的根Activity有意义。对其他Activity来说,忽略之。

一般来说。特定的情形如当用户从主画面又一次选择这个Task时。系统会对这个Task进行清理(从stack中删除位于根Activity之上的全部Activivity)。典型的情况,当用户有一段时间没有訪问这个Task时也会这么做。比如30分钟。

然而,当这个特性设为“true”时,用户总是能回到这个Task的最新状态。不管他们是怎样启动的。

比如。像Browser应用程序,这里有非常多的状态(比如多个打开的Tab),用户不想丢失这些状态。

android:clearTaskOnLanunch

  • 使用方法<activity android:clearTaskOnLanunch=”true/false”></activity>
  • 标记是否从Task中清除全部的Activity,除了根Activity外(每当从主画面又一次启动时)
    • “true”,表示总是清除至它的根 Activity。

      • 每次用户又一次启动这个Task时,都会进入到它的根Activity中。无论这个Task最后在做些什么。也无论用户是使用 BACK还是HOME离开的。
    • “false”表示不。默认值是“false”。
      • 可能会在一些情形下(參考alwaysRetainTaskState特性)清除Task的 Activity,但不总是。

  • 这个特性仅仅对启动一个新的Task的Activity(根Activity)有意义; 对Task中其他的Activity忽略。

如果,某人从主画面启动了Activity P,并从那里迁移至Activity Q。

接下来用户按下HOME。然后返回Activity P。一般,用户可能见到的是Activity Q。由于它是P的Task中最后工作的内容。

然而,如果P设定这个特性为“true”,当用户按下HOME并使这个Task再次进入前台时,其上的全部的
Activity(在这里是Q)都将被清除。因此,当返回到这个Task时,用户仅仅能看到P。

假设这个特性和allowTaskReparenting都设定为“true”。那些能又一次宿主的Activity会移动到共享affinity的Task中。剩下的Activity都将被抛弃,如上所述。

android:configChanges

当配置list发生改动时。 是否调用 onConfigurationChanged() 方法 比方 "locale|navigation|orientation".

举例:在按下power键时,直接在应用程序里onPause处理就好。当app是竖屏时。这样处理没问题。可是当app是横屏时,按下power键,app会强制回到竖屏,而且会又一次调用activity的onCreate。

非常多时候这不是预期结果,所以就会用到android:configChanges。

在配置文件中设置android:configChanges=”keyboardHidden|orientation”,这样在屏幕方向改变的时候就不会又一次调用activity的onCreate()方法,而是调用onConfigurationChanged(),然后在activity里面重在下。

@Override

public void onConfigurationChanged(Configuration newConfig){

         super.onConfigurationChanged(newConfig);

         if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){

                   //横向

         }else{

                   //竖向

         }

}

android:enabled

  • activity 能否够被实例化
  • 使用方法:<activity android:enabled="true"></activity>

android:excludeFromRecents

  • 是否可被显示在近期打开的activity列表里
  • 使用方法:<activity android:excludeFromRecents="true"></activity>

android:exported

是否同意activity被其他程序调用

android:finishOnTaskLaunch

用来标记当用户再次启动它的Task(在主画面选择这个Task)时已经存在的Activity实例是否要关闭(结束)

“true”,表示应该关闭

“false”表示不关闭。

默认值是“false”。

假设这个特性和allowTaskReparenting都设定为“true”,这个特性胜出。Activity的affinity忽略。

这个 Activity不会又一次宿主。可是会销毁。

android.icon

  • 加在应用程序图标
  • 使用方法:<application android:icon="@drawable/xx_icon"></application>

android:label

定义了每一个title栏的名称,可是优先级低于activity中的setTitle()

android:launchMode

用于指示Activity怎样启动。这里有四种模式,与Intent对象中的Activity Flags(FLAG_ACTIVITY_*变量)共同作用,来决定Activity怎样启动来处理Intent。它们是:

"standard"

"singleTop"

"singleTask"

"singleInstance"

默认模式是“standard”。

“standard”和“singleTop”为第一组,“singleTask”和“singleInstance”为第二组。

第一组能够被实例化非常多次。这些实例能够属于不论什么task而且能够位于activity stack的不论什么位置。

典型的情况是,它们会进入调用startActivity()的Task(除非Intent对象包括 FLAG_ACTIVITY_NEW_TASK标志,在这样的情况下会选择一个不同的Task——參考taskAffinity特性)。

taskAffinity详情可见http://blog.csdn.net/zhaoyazhi2129/article/details/28290293

android:multiprocess

同意多进程

android:name

activity的类名, 必须指定

android:onHistory

是否须要移除这个activity当用户切换到其它屏幕时。

这个属性是 API level 3 中引入的

android:permission

http://blog.csdn.net/zhaoyazhi2129/article/details/8998575

android:process

一个activity执行时所在的进程名,全部程序组件执行在应用程序默认的进程中。这个进程名跟应用程序的包名一致。

<application>中的元素process属性可以为全部组件设定一个新的默认值。

可是不论什么组件都可以覆盖这个默认值,同意你将你的程序放在多进程中执行。 假设这个属性被分配的名字以:开头,当这个activity执行时, 一个新的专属于这个程序的进程将会被创建。假设这个进程名以小写字母开头,这个activity将会执行在全局的进程中,被它的许可所提供。

android:screenOrientation

activity显示的模式,

"unspecified" 默认值 "landscape" 风景画模式。宽度比高度大一些 "portrait" 肖像模式, 高度比宽度大。 "user" 用户的设置 "behind" "sensor" "nosensor"

android:stateNotNeeded

是否 activity被销毁和成功重新启动并不保存状态

android:taskAffinity

activity的亲属关系。 默认情况同一个应用程序下的activity有同样的关系

android:theme

activity的样式主题, 假设没有设置,则activity的主题样式从属于应用程序, 參见<application>元素的theme属性

android:windowSoftInputMode

activity主窗体与软键盘的交互模式, 自从API level 3 被引入

android Manifest.xml选项的更多相关文章

  1. Android Manifest.xml文件的结构及作用

    原文链接:http://android.eoe.cn/topic/android_sdk 每一个应用程序在工程的根目录下必须要有一个AndroidManifest.xml文件(一定要用这个名称).这个 ...

  2. Android Manifest.xml详解

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...

  3. Android Manifest.xml 结构详解

    关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activities ...

  4. 安卓(android)建立项目时失败,出现Android Manifest.xml file missing几种解决方法?(总结中)

    安卓(android)建立项目时失败.出现AndroidManifest.xml file missing几种解决方法?(总结中) Eclipse新建项目.遇到这种问题.注意例如以下: 1.文件名称最 ...

  5. android——manifest.xml

  6. android manifest.xml 文件

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 清单文件 包括 包名 应用 各个组件  四大组件 使用到的权限 应用程序所需要的最低安卓 ...

  7. android Manifest.xml 文件详解

  8. ABAP的Package interface, 安卓的manifest.xml和Kubernetes的Capabilities

    ABAP 事务码SE21创建ABAP包接口.这是ABAP基于包层面的访问控制实现逻辑.包里可以存储很多ABAP对象.如果开发人员想将某些对象声明为包外程序也能访问,可以将这些对象放在包接口的Visib ...

  9. Android开发 ---xml构建选项菜单、上下文菜单(长按显示菜单)、发通知、发送下载通知

    1.activity_main.xml 描述: 定义了一个TextView和三个按钮 <?xml version="1.0" encoding="utf-8&quo ...

随机推荐

  1. Intellij格式化java和xml

    使用Intellij的这段时间,一直在寻找一些技巧,不断提高对它的熟练度.接下来告诉大家一个小秘密,带大家体验一下Intellij半自动格式化代码的快感.那要使用这个功能还得安装一个插件--Eclip ...

  2. 如何用Java实现反转排序

    摘要:反转排序是将原先已经排序好了的重新排序,是原来的数组元素的顺序反转过来.假设原来的数组顺序是{6,5,4,3,2,1},反转之后的顺序就是{1,2,3,4,5,6}.这个排序的算法不是很难,代码 ...

  3. HDU 2515 Yanghee 的算术【找规律】

    题意:中文的题目 找规律可以发现 sum[1]=a[1]+a[2] sum[2]=a[1]+a[3] sum[n]=a[2]+a[3] 解出a[1],就可以求出其他的了 #include<ios ...

  4. java找出1~1000中素数的三种方式

    第一种: public class Sushu { public static void main(String[] args) { // TODO Auto-generated method stu ...

  5. UI Framework-1: Aura Graphics Architecture

    Graphics Architecture Overview Each Aura Window owns a corresponding compositor layer. The layer tre ...

  6. CF817F MEX Queries(线段树上二分)

    题意 维护一个01串,一开始全部都是0 3种操作 1.把一个区间都变为1 2.把一个区间都变为0 3.把一个区间的所有数字翻转过来 每次操作完成之后询问区间最小的0的位置 l,r<=10^18 ...

  7. 一个Web报表项目的性能分析和优化实践(四):MySQL建立索引,唯一索引和组合索引

    先大致介绍下项目的数据库信息. 数据库A:主要存放的通用的表,如User.Project.Report等. 数据库B.C.D:一个项目对应一个数据库,而且这几个项目的表是完全一样的. 数据库表的特点 ...

  8. Android布局之FrameLayout

    框架布局(帧布局)是最简单的布局形式.所有添加到这个布局中的视图都以层叠的方式显示.第一个添加的控件被放在最底层,最后一个添加到框架布局中的视图显示在最顶层,上一层的控件会覆盖下一层的控件.这种显示方 ...

  9. 【UVa 116】Unidirectional TSP

    [Link]:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_probl ...

  10. ORA-12514: TNS: 监听程序当前无法识别连接描写叙述符中请求的服务

    不指定数据库能够正常连接: 指定数据库和使用PL/SQL Developer都出现错误: 在此说明一下我的环境:Oralce装的是64位的在使用PL/SQL Developer时曾出现过初始化错误,解 ...