Android Manifest 配置

android 属性,后面好多没来得及放,以后有时间添加

为了方便,把经常用到的一些属性配置及含义放在一起,毕竟谁也没不会成天去记这个对吧, 后面会把用法也贴上,如果比较多的用法就贴个链接
为了方便直接 ctrl + c 整个网页找就好了

目录

Activity

1.android:configChanges的属性

2.android:excludeFromRecents="true"--->表示不在最近打开的列表中显示 (这个属性有个同事试过了6.0 有效   7.0无效)

3.android:singleUser="true"--->表示单用户,所有用户使用的Activity是同一个,和singletop,singletask的区别是,无论如何启动,他总是一个。

4.android:multiprocess=["true" | "false"] ---->指定是否允许多个app实例运行在不同进程上



5.android:permission=""   ---->外部其他程序调用该组件要使用的权限   ------ 自定义权限

6.android:noHistory=["true" | "false"] 是否需要移除这个activity当用户切换到其他屏幕时 ---- 我感觉这个和 Intent里面的一个 flag 设置很像 

7.android:exported=["true" | "false"]是否允许activity被其它程序调用

8.android:showOnLockScreen="" 是否显示在锁屏界面上面

9.android:hardwareAccelerated=["true" | "false"] 是否硬件加速,此标志只是说明app可能需要该权限,但实际上开发中需要手动设置。

10.android:largeHeap=["true" | "false"] 是否允许加大内存


11.android:finishOnTaskLaunch=["true" | "false"]是否关闭已打开的activity当用户重新启动这个任务的时候

Service

  android:process  属性。  process =":remote";   设置本Service 的名称

[1.android:configChanges的属性]

android:configChanges=”orientation|keyboard|keyboardHidden|screenSize|smallestScreenSize”

[“mcc”, “mnc”, “locale”,
“touchscreen”, “keyboard”, “keyboardHidden”,
“navigation”, “screenLayout”, “fontScale”, “uiMode”,
“orientation”, “screenSize”, “smallestScreenSize”]

mcc:The IMSI mobile country code (MCC) has changed — a SIM has been detected and updated the MCC.
IMSI(国际移动用户识别码)发生改变,检测到SIM卡,或者更新MCC

mnc:The IMSI mobile network code (MNC) has changed — a SIM has been detected and updated the MNC.
IMSI网络发生改变,检测到SIM卡,或者更新MCC
其中mcc和mnc理论上不可能发生变化

locale:The locale has changed — the user has selected a new language that text should be displayed in.
语言发生改变,用户选择了一个新的语言,文字应该重新显示

touchscreen:The touchscreen has changed. (This should never normally happen.)
触摸屏发生改变,这通常是不应该发生的

keyboard:The keyboard type has changed — for example, the user has plugged in an external keyboard.
键盘类型发生改变,例如,用户使用了外部键盘

keyboardHidden:The keyboard accessibility has changed — for example, the user has revealed the hardware keyboard.
键盘发生改变,例如,用户使用了硬件键盘

navigation:The navigation type (trackball/dpad) has changed. (This should never normally happen.)
导航发生改变,(这通常不应该发生) 举例:连接蓝牙键盘,连接后确实导致了navigation的类型发生变化。因为连接蓝牙键盘后,我可以使用方向键来navigate了

screenLayout:The screen layout has changed — this might be caused by a different display being activated.
屏幕的布局发生改变,这可能导致激活不同的显示

fontScale:The font scaling factor has changed — the user has selected a new global font size.
全局字体大小缩放发生改变

orientation:The screen orientation has changed — that is, the user has rotated the device.设备旋转,横向显示和竖向显示模式切换。

screenSize: 屏幕大小改变了

smallestScreenSize: 屏幕的物理大小改变了,如:连接到一个外部的屏幕上

4.2增加了一个layoutDirection属性,当改变语言设置后,该属性也会成newConfig中的一个mask位。所以ActivityManagerService(实际在ActivityStack)在决定是否重启Activity的时候总是判断为重启。
需要在android:configChanges 中同时添加locale和layoutDirection。
在不退出应用的情况下切换到Settings里切换语言,发现该Activity还是重启了。

在Activity 中的判断

@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {//当前为横屏
Log.d(tag, “ORIENTATION_LANDSCAPE=”+Configuration.ORIENTATION_LANDSCAPE);//2

    }else if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){//当前为竖屏  
    Log.d(tag, "ORIENTATION_PORTRAIT="+Configuration.ORIENTATION_PORTRAIT);//1  

    }  

    //还有等等
    super.onConfigurationChanged(newConfig);  
}  

//7.0 可以结合分屏的回调方法进行多重判断
@Override
public void onMultiWindowModeChanged(boolean isInMultiWindowMode) {
super.onMultiWindowModeChanged(isInMultiWindowMode);
Log.d(TAG, “onMultiWindowModeChanged: ” + isInMultiWindowMode);
}

android 转屏 onConfigurationChanged 不会执行的问题
如果设置了android:targetSdkVersion ,记得加上screenSize

如果 android:configChanges=”orientation|screenSize” 改为 android:configChanges=”orientation” 在android 4.2.2 真机上验证,onConfigurationChanged 不会被执行。
去掉 android:targetSdkVersion=”18” 并且 android:configChanges=”orientation” 在android 4.2.2 真机上验证,onConfigurationChanged 执行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

空白的泡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值