android mainfest 的一些属性

基本都写了。写的都经过测试。不是按照官网一个字一个字的翻译。觉得通俗易懂 ,也可以配和官方文档理解。


元素:全部用小写。manifest 和application有且只有一个

            同一级别的元素顺序无关 ,除了<activity-alias>必须在<activity>之后

属性:除了name属性 都是可选的。


<intent-filter>作用是一个筛选条件。。跳转到那个activity。。

    <action/>  

    <category/>

    <data/>


<intent-filter>


mainfest里面的所有activity都是在 用到的时候才会被实例化。不是上来就实例化的


activity属性 可以去developer.android.com查询

<activity android:allowEmbedded=["true" | "false"]

android:allowTaskReparenting=["true" | "false"]

允许进程重定向

比如 一个email(是进程1)打开一个浏览器 进入到网站当这个执行完之后

在在短信应用(是进程2)里面有一个按钮是打开浏览器 当再次打开这个浏览器的时候 如果是true 还打开刚才的网页 而不是主页

也就是说 一个应用可以属于不同的进程          

android:alwaysRetainTaskState=["true" | "false"]

允许保留任务状态

一般操作是 activity1跳转到activity2 然后按下home按键 如果30分钟内

没有操作过activity1 那么处于栈顶的activity2就会被清除 如果设置为true

那么过了30分钟再次打开这个应用 看到的界面还是activity2的界面。。适用于看网页啊等等

android:autoRemoveFromRecents=["true" | "false"] android:banner="drawable resource"

android:clearTaskOnLaunch=["true" | "false"]

 如果activity1跳到activity2 按下home按键 然后再打开这个应用如果为       true activity2就被清除 只    显示activity1

  就是重新调用的时候只显示栈顶

android:configChanges=["mcc", "mnc", "locale",   

 "touchscreen", "keyboard", "keyboardHidden",  "navigation", "screenLayout", "fontScale", "uiMode",

 "orientation", "screenSize", "smallestScreenSize"]

单独写一篇          

android:documentLaunchMode=["intoExisting", "always",                                   "none", "never"] android:enabled=["true" | "false"]

android:excludeFromRecents=["true" | "false"]

最近的历史中不包含这个应用

在一个activity中 按下home键换到桌面,如果想再次执行这个activity方法两种

点击图标 或者 常按home键 在最近的历史中 打开应用 这个方法就是如果为true

在最近的历史中 没有这个activity的存在

         

android:exported=["true" | "false"]

是否这个组件 activity对其他进程有效          

android:finishOnTaskLaunch=["true" | "false"]

这个出行设置在activity2 里面

activity1跳到activity2 home键 到桌面 然后再点开这个应用

activity2 就被清理了。只显示activity1

activity1里面也设置 activity1测试的结果没有被清除依然还在,也没有报错

            

android:hardwareAccelerated=["true" | "false"]          

android:icon="drawable resource"

android:label="string resource"

android:launchMode=

["multiple"

"singleTop" |

"singleTask"

"singleInstance"

]得单独写一篇文章

         

          android:maxRecents="integer"

          android:multiprocess=["true" | "false"]

多进程  官网翻译如下

这个属性用于设置Activity的实例能否被加载到与启动它的那个组件所在的进程中,如果设置为true,则可以,否则不可以。默认值是false。
通常,一个新的Activity实例会被加载到定义它的应用程序的进程中,以便应用程序的所有Activity都运行在同一个进程中。但是,如果这个属性被设置为true,那么这个Activity的实例就可以运行在多个进程中,允许系统在使用它们的进程中来创建实例(权限许可的情况下),这几乎是从来都不需要的事情。  

但这最后一句让人蛋疼 ,几乎从来都不需要的事情 。。       

          android:name="string"

          android:noHistory=["true" | "false"]  

从这个activity切出去的时候 把自己干掉 类似于finish()          

          android:parentActivityName="string"           android:permission="string"

          android:process="string"

两种方法

1 android:process="wang.com.cn"这个给这个进程起了一个别名   

    如果两个应用的进程名字设置的一样 那么两个应用可以共享两个进程下面的属性

2 android:process=":remote"这个组件可能在另一个进程中使用

                        

          android:relinquishTaskIdentity=["true" | "false"]

          android:screenOrientation=["unspecified" |默认值(常用)

"behind" |任务栈里面 他下面的那个activity的屏幕是什么样 他就是什么样                                      

 "landscape" |横屏

"portrait" |竖屏 "reverseLandscape"

"reversePortrait" |

 "sensorLandscape"

| "sensorPortrait"

|"userLandscape" 

| "userPortrait"

|"sensor" 跟着感应器走 横屏 竖屏 随着感应器变化(常用)

"fullSensor"

| "nosensor" 

|"user"用户指定

|"fullUser"

| "locked"]       

android:stateNotNeeded=["true" | "false"]

 默认情况下,也就是咱们没有显示的设置这个属性的时候,这个值是false,默认是要保存状态的。当Activity在被意外杀死之前,系统会回调onSaveInstanceState()这个方法,程序员可以重载这个方法保存当前activity的一些状态到一个Bundle对象里。当这个Activity再重启的时候会通过onCreate()方法传递过来,那个参数Bundle对象就是意外杀死前保存的状态,可以利用保存在里面的值,恢复到意外杀死前的状态。注意一下,刚打开一个Activity时,onCreate()方法参数中的Bundle是null,做处理时要判断一下,是不是意外杀死之后的重启。

正常情况下,默认值就ok了,但是有的场景需要设置为true,必须lancher程序,就是保证程序崩溃之后依然不会被系统移除,这句话是官方文档上说的,我的理解是,用来保证肯定能重启,并且还好保证重启的速度要快,因为不需要保存状态。
         

  android:taskAffinity="string"    android:theme="resource or theme" android:uiOptions=["none" | "splitActionBarWhenNarrow"]

   android:windowSoftInputMode=[

"stateUnspecified",未指定                                        

 "stateUnchanged",

"stateHidden",                                        

"stateAlwaysHidden",总是隐藏

"stateVisible",                                        

 "stateAlwaysVisible", 总是显示

"adjustUnspecified",

 "adjustResize"

"adjustPan"]

软键盘输入

>       . . .

    . . . </activity>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值