`
寻梦者
  • 浏览: 637570 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android中mainifest的一些属性

 
阅读更多

android:allowTaskReparenting

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

     如果这个特性没有被设定,设定到<application>元素上的allowTaskReparenting特性的值会应用到Activity上。默认值为“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,“false”表示不。默认值是“false”。这个特性只对启动一个新的Task的Activity(根Activity)有意义; 对Task中其它的Activity忽略。
      当这个值为“true”,每次用户重新启动这个Task时,都会进入到它的根Activity中,不管这个Task最后在做些什么,也不管用户是使 用 BACK还是HOME离开的。当这个值为“false”时,可能会在一些情形下(参考alwaysRetainTaskState特性)清除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里面重在 下。

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 package属性、package name和Application ID三者的联系及区别

    package属性:在AndroidManifest.xml文件中。 package name:应用程序的包名。 Application ID:模块defaultConfig块下的applicationId属性。 设置Application ID 每个Android应用程序都有唯一一个类似Java包名的...

    AndroidManifest.xml文件

    上次传的main activity代码配套,欢迎页面太丑没穿,好吧,就这样。

    mainifest.plist

    sss

    androi解压缩文件或文件夹

    1.Android 压缩文件,压缩文件夹 2.解压文件,解压文件夹 3.完美支持文件名称和文件夹目录中存在中文的...要点 mainifest中的权限 6. zipUtil在压缩和解压过程中的编码格式的指定"GBK" 7.项目可运行,希望大家给个好评

    Android编程实现横竖屏切换时不销毁当前activity和锁定屏幕的方法

    首先在Mainifest.xml的Activity元素中加入android:configChanges=”orientation|keyboardHidden”属性 &lt;activityandroid name=.FileBrowserandroid:label app_nameandroid:configChanges=orientation|...

    hhclass汉化 用来修改MANIFEST.MF

    在Java应用程序开发中,MANIFEST.MF文件起着至关重要的作用。它是每个JAR(Java Archive)文件的核心组成部分,包含了关于该JAR的基本信息,如主类、版本号、依赖库等。MANIFEST.MF的正确配置对于程序的运行和打包是...

    CDH-5.9.1+Centos7+cloudera-manager-centos7-cm5.9.1.txt

    CDH-5.9.1-1.cdh5.9.1.p0.4-el7.parcel+cloudera-manager-centos7-cm5.9.1文件太大上传不了(2G)。里面是baiduwangpan链接和提取码。要者自提 Centos7!Centos7!Centos7!Centos7!Centos7!Centos7!...

    详解HTML5中的manifest缓存使用

    Cache Manifest的工作原理如下:当用户首次访问一个配置了manifest属性的HTML页面时,浏览器会下载manifest文件并按照文件中的指令缓存指定的文件。之后,每次用户重新访问该页面时,浏览器会检查manifest文件是否...

    Microsoft.VC90.DebugCRT_X64.zip

    Microsoft.VC90.DebugCRT 包含4个文件。Microsoft.VC90.DebugCRT.manifest/msvcm90d.dll/msvcp90d.dll/msvcr90d.dll

    wordpress配置

    WordPress mainifest.json搭建网站的配置文件,亲测可以用

    YanHarmonyDemo.rar

    1. **HarmonyOS开发环境搭建**:首先,开发者需要安装 HarmonyOS SDK、IDE(如DevEco Studio)以及配置相应的开发环境,这包括设置Java、Android SDK、Git等基础工具。 2. **卡片服务概念理解**:卡片服务是鸿蒙...

    manifest-json:为您的PWA创建manifest.json

    manifest-json 为您的PWA创建一个Webapp。 安装 $ npm install --global manifest-json 用法 $ manifest-json GIF 去做 为CLI上的每个选项提供标志。 询问lang , scope , splash-screen ? ...

    RuleApp1.4.0文章社区客户端源码

    - 编辑**mainifest.json**文件,配置App名称、启动图标等基本信息。 5. **打包发布** - 完成以上步骤后,即可进行App的打包与发布工作。 - 支持生成不同平台的应用程序包,便于上线各大应用商店。 #### 五、...

    Tomcat启动时类加载顺序

    3. **META-INF/MAINIFEST.MF中的Class-Path键值对** - 在jar文件的MANIFEST.MF文件中,可以通过Class-Path键指定需要加载的其他jar文件。这些jar文件将按照指定的顺序被加载。 - 例如,如果某个jar文件的MANIFEST....

    vue-devtools 浏览器调试插件

    用于chrome调试vue项目,安装方法: 1.下载资源 ...4.修改shells、chrome目录下的mainifest.json 中的persistant为true 5.打开谷歌,添加扩展程序chrome://extensions/ 选择开发者模式、加载已解压的扩展程序

    uni-app 仿小米商城

    uni-app 仿小米商城示例源码,目录: store static pages components common uni.scss pages.json mainifest.json main.js App.vue

    maven-git-versioning-extension:此扩展将根据当前的git分支或标签虚拟设置项目版本

    :information: pom文件将不会被修改,版本只会在内存中被修改。 摆脱... 编辑pom.xml 通过git和文件内管理版本 Git合并冲突 安装 :warning_selector: 最低要求的Maven版本是3.6.3 添加扩展 创建或更新${basedir...

    Vue.js devtool插件安装后无法使用的解决办法

    找到后,进入插件目录,打开mainifest.json文件进行修改。 3. 修改mainfest.json文件。将文件中persistent项的值从false修改为true,表示插件将以持久化的方式运行。保存文件后,重新打开浏览器并尝试再次访问Vue....

    cemu-开源

    【压缩包子文件的文件名称列表】中的文件提供了关于Cemu项目结构的一些线索: 1. `kompilacja.bat`:这是一个批处理文件,通常用于自动化命令行编译过程。在Windows系统中,用户可以通过运行这个脚本来编译Cemu的源...

    jekyll-theme-mdui::wine_glass:基于MDUI的Jekyll主题

    )去做 V2注意文件必填或可选: 档案必需或可选描述mainifest.json 可选的是每个WebExtension必须包含的唯一文件。请参见。 sw.js 可选的服务人员。请参见。 search.json 可选的如果使用搜索页面,则必填。 tags....

Global site tag (gtag.js) - Google Analytics