结构

继承关系

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. BZOJ5042: LWD的分科岛

    [传送门:BZOJ5042] 简要题意: 给出n个数,q个询问,每个询问输入opt,l,r,如果opt=1,则输出l到r中的最小值,否则输出最大值 题解: 直接上ST表,自信一波,结果 MLE??好吧 ...

  2. UITextField限制输入长度

    首先,汉字的输入时的联想词在输入到TextFiled时,并不会走 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersIn ...

  3. sklearn.preprocessing OneHotEncoder——仅仅是数值型字段才可以,如果是字符类型字段则不能直接搞定

    >>> from sklearn.preprocessing import OneHotEncoder >>> enc = OneHotEncoder() > ...

  4. pandas groupby 分组操作

    最一般化的groupby 方法是apply. tips=pd.read_csv('tips.csv') tips[:5] 新生成一列 tips['tip_pct']=tips['tip']/tips[ ...

  5. django admin显示多对多字段

    参考文档https://jingyan.baidu.com/article/4e5b3e190f55c591901e24b3.html admin.py from .models import *cl ...

  6. centos7 更改网络后 无法重启network (解决办法)

    今天由于用nat与本地局域网冲突,可能和之前ENSP搭建时虚拟机冲突造成 然后修改了VMnet8的ip,网关,DNS 同时更改虚拟网络编译器与VMnet8保持相同 进入虚拟机,更改/etc/sysco ...

  7. Kali linux 2016.2(Rolling)里Metasploit连接(包括默认和自定义)的PostgreSQL数据库之后的切换到指定的工作空间

    不多说,直接上干货! 为什么要这么做? 答: 方便我们将扫描不同的目标或目标的不同段,进行归类.为了更好的后续工作! 前期博客 Kali linux 2016.2(Rolling)里Metasploi ...

  8. Blink Coordinate Spaces

    Blink Coordinate Spaces Blink Coordinate Spaces Types of Zoom There are two types of zoom in Chromiu ...

  9. 使用freerdp远程连接Windows桌面(转载)

    使用freerdp远程连接Windows桌面 之前使用的是rdesktop,但是由于其不支持NLA认证,便不能登录公司的电脑.为此,现在使用freerdp——这是package的名字,实际的可执行程序 ...

  10. python 自动广播机制 (broadcasting)

    一定要注意,执行 broadcast 的前提在于,两个 ndarray 执行的是 element-wise(按位加,按位减) 的运算,而不是矩阵乘法的运算,矩阵乘法运算时需要维度之间严格匹配.(且矩阵 ...