结构

继承关系

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里面重在下。

@Overridepublic 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 被引入

更多相关文章

  1. Android创建应用程序快捷方式(shortcut)
  2. Ubuntu 下开发 Android(安卓)环境变量设置
  3. Android(安卓)获取所有安装应用显示在listview上
  4. Android(安卓)RxPermissions 使用教程
  5. android 如何判断程序是否在前台运行
  6. Android创建快捷方式(shortcut)
  7. Android中Dialog实现自定义弹出对话框
  8. android view获取焦点且有黄色高亮效果
  9. Ubuntu 下开发 Android(安卓)环境变量设置

随机推荐

  1. Android(安卓)中的时间日期控件
  2. MAC下编译arm架构的tcpdump
  3. Android的MediaPlayer架构介绍
  4. Android中的Ninja简介
  5. Android之TextView属性详解
  6. Android测试之ADB部署
  7. Testing和Instrumentation
  8. Android(安卓)触控事件解析(Mastering the
  9. Android的Root原理
  10. Android——界面布局