Android清单文件详解(六) ---- <activity>节点的属性(二)

简介: Android清单文件详解(六) ---- <activity>节点的属性(二)

16.android:permission


表示的是权限名称。如果startActivity()或者startActivityForResult()的调用者还没有被授予指定的权限,则启动失败。


如果该属性没有设置,则<application>元素的permission属性设置的权限就应该应用到Activity中。如果这两个属性都没有设置,则Activity就不会被权限保护。


17.android:process


该属性表示该Activity运行的进程名称。通常,应用程序的所有组件在为应用程序而创建的默认进程中运行。<application>元素的process属性可以为所有组件设置一个不同的进程,但是每个组件可以覆盖这个属性的值,这样就实现了将应用程序部署在多个进程间。


如果分配该属性的名称是以冒号(:)开头,则在需要新进程并且Activity在该进程中运行的时候,就会创建一个对于应用程序私有的新进程。


18.android:screenOrientation


该属性表示Activity显示的方向(比如纵向,横向),它是值可以是下表中的任意一个字符。


取值 说明

unspecified

默认值,根据重力感应选择方向
user 用户当前偏好的方向
behind 和Activity相同的方向
landscape 横向
portrait 纵向

reverseLandscape       

与正常横向相反方向 的横向
reversePortrait 与正常纵向相反方向的纵向

sensorLandscape

只能是横向,但是可以根据重力感应来决定是正常的还是反转的横向
sensorPortrait 中能是纵向,但是可以根据重力感应来决定是正常的或者反转的纵向
sensor 方向由设备方向感应器来决定。显示的方向取决于用户是如何持有设备的;在用户翻转设备时,方向发生改变。有些设备在默认情况下不会翻转到所有4个可能的方向。要允许可翻转到所有4个方向,可以使用fullSensor
fullSensor 方向由设备方向感应为4个方向中的任意一个而确定
fullSensor 无感应模式


19.android:stateNotNeeded


该属性表明Activity是否能被终止以及是否能在还没有保存其状态的情况下成功重启。如果Activity可以在不需要引用到之前状态的情况下就能被重启,则该属性为true;如果需要引用到之前的状态才能被重启,则为false。默认值是false。


通常,在暂时关闭Activity之前,我们要调用onSaveInstanceState()方法来保存当前的Activity的状态。该方法在Bundle对象中存储Activity的当前状态,该对象在重启Activity时将会以参数的方式传给onCreate()方法。如果该属性被设置为true,则onSaveInstanceState()就不会被调用,并且onCreate()会被传递null,这和Activity首次启动时所做的一样。


20.android:taskAffinity


该属性指明对该Activity有亲和力的任务。有同样亲和力的Activity在概念上属于同一任务(默认情况下是应用程序所定义的任务)。任务的亲和力是由其根Activity的亲和力所决定的。


21.android:theme


该属性是指为Activity定义一个整体主题风格资源的引用。所谓的风格包括字体种类,整体样式等。使用该属性可以使得我们的Activity在整体上更为统一,美观。


如果没有设置该属性,则Activity继承将应用程序作为一个整体而设置的主题,具体可见<application>元素的theme属性。如果theme属性也没有设置,则使用默认系统主题。


22.android:windowSoftInputMode


该属性表示Activity的主窗口如何与包含屏幕软键盘的窗口交互。设置该属性将影响两件事。


①软键盘的状态。当Activity获取输入焦点时,是否隐藏软键盘。


②对Activity主窗口的调整。该窗口是否被调整得更小一些来为软键盘腾出空间,或者它的内容是否被移动以便在部分窗口被软键盘覆盖时,使得当前焦点可见。


该属性或者是下表的一个值,或者是state...值和adjust...值的组合。如果是多个值的组合,则使用(|)将其隔开,例如


<activity android:windowSoftInputMode="stateVisible|adjustResize" .....>


这里设置的值(stateVisible和adjustResize)覆盖了设置在主题中的值。


描述

stateUnspecified

没有指定的软键盘(是否隐藏或者可见)的状态。系统将选择一个合适的状态或者依赖主题中的定义来设置。这对于软键盘的行为是默认设置。

stateUnchanged

软键盘保持在它最后存在的任何状态中

stateHidden

在用户选择Activity时,软键盘是可见的

stateAlwaysHidden

当Activity有输入焦点时(比如编辑框获得焦点的时候),软键盘总是隐藏的。

stateVisible

当用户进入Activity的主窗口时,软键盘是可见的

stateAlwaysVisible   

当用户选择Activity时,软键盘可见

adjustUnspecified

Activity的主窗口是否调整尺寸来为软键盘腾出空间

adjustResize

Activity的主窗口总是被调整来为屏幕上的软键盘腾出空间

adjustPan

Activity的主窗口不会被调整为屏幕上的软键盘腾出空间


相关文章
|
2月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
|
4月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
305 1
|
2月前
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
94 6
|
2月前
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
Android面试高频知识点(4) 详解Activity的启动流程
28 3
|
2月前
|
缓存 前端开发 Android开发
Android实战之如何截取Activity或者Fragment的内容?
本文首发于公众号“AntDream”,介绍了如何在Android中截取Activity或Fragment的屏幕内容并保存为图片。包括截取整个Activity、特定控件或区域的方法,以及处理包含RecyclerView的复杂情况。
24 3
|
2月前
|
Android开发
Android面试之Activity启动流程简述
Android面试之Activity启动流程简述
18 0
|
3月前
|
消息中间件 Android开发 索引
Android面试高频知识点(4) 详解Activity的启动流程
讲解Activity的启动流程了,Activity的启动流程相对复杂一下,涉及到了Activity中的生命周期方法,涉及到了Android体系的CS模式,涉及到了Android中进程通讯Binder机制等等, 首先介绍一下Activity,这里引用一下Android guide中对Activity的介绍:
54 4
|
4月前
|
XML Android开发 数据格式
android中两个Activity同时设定了intent-filter的category为android.intent.category.LAUNCHER,会发生什么情况?
本文通过案例分析了在Android中当两个Activity都设置了`android.intent.category.LAUNCHER`类别时,会导致它们同时在应用启动器的"所有应用"页面显示为不同的启动入口。
95 2
android中两个Activity同时设定了intent-filter的category为android.intent.category.LAUNCHER,会发生什么情况?
|
2月前
|
ARouter Android开发
Android不同module布局文件重名被覆盖
Android不同module布局文件重名被覆盖
140 0
|
3月前
|
Android开发 开发者
Android面试之Activity启动流程简述
每个Android开发者都熟悉的Activity,但你是否了解它的启动流程呢?本文将带你深入了解。启动流程涉及四个关键角色:Launcher进程、SystemServer的AMS、应用程序的ActivityThread及Zygote进程。核心在于AMS与ActivityThread间的通信。文章详细解析了从Launcher启动Activity的过程,包括通过AIDL获取AMS、Zygote进程启动以及ActivityThread与AMS的通信机制。接着介绍了如何创建Application及Activity的具体步骤。整体流程清晰明了,帮助你更深入理解Activity的工作原理。
56 0