public abstract void setComponentEnabledSetting (ComponentName componentName, int newState, int flags)
componentName:组件名称
newState:组件新的状态,可以设置三个值,分别是如下:
不可用状态:COMPONENT_ENABLED_STATE_DISABLED
可用状态:COMPONENT_ENABLED_STATE_ENABLED
默认状态:COMPONENT_ENABLED_STATE_DEFAULT
flags:行为标签,值可以是DONT_KILL_APP或者0。 0说明杀死包含该组件的app
这个函数的用法:设置组件的enable status
这个函数的英文注释: Set the enabled setting for a package component (activity, receiver, service, provider). This setting will override any enabled state which may have been set by the component in its manifest(http://developer.android.com/reference/android/content/pm/PackageManager.html#setComponentEnabledSetting%28android.content.ComponentName,%20int,%20int%29 )
为什么要关闭组件?
在用到组件时,有时候我们可能暂时性的不使用组件,但又不想把组件kill掉,比如创建了一个BroadcastReceiver广播监听器,用来想监听 第一次开机启动后获得系统的许多相关信息,并保存在文件中,这样以后每次开机启动就不需要再去启动该服务了,也就是说如果没有把receiver关闭掉, 就算是不做数据处理,但程序却还一直在后台运行会消耗电量和内存,这时候就需要把这个receiver给关闭掉。
如何关闭组件?
只要创建packageManager对象和ComponentName对象,并调用packageManager对象的setComponentEnabledSetting方法。关闭组件,例如:
PackageManager pacman = context.getPackageManager();
pacman.setComponentEnabledSetting(new ComponentName(context, HomeActivity.class),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
注意:
如果设置一个app的mainActivity为COMPONENT_ENABLED_STATE_DISABLED状态,禁用组件,
1. 让应用程序在主菜单[launcher]程序列表中动态隐藏(COMPONENT_ENABLED_STATE_ENABLED 为显示)
2. 调用app的setComponentEnabledSetting改变了/data/system/packages.xml 文件中
<package name="你的app的包名"
<enabled-components>
<item name="包名.xxActivity" />
</enabled-components>
</package>
eg.
<package>
<package name="com.xxx.xxx" codePath="/system/app/xxx.apk" nativeLibraryPath="/data/app-libxxx" flags="4767301" ft="140109d5890" it="140109d5890" ut="140109d5890" version="1" userId="10056">
<sigs count="1">
<cert index="1" />
</sigs>
</package>
相关推荐
使用系统是android5.1 根据客户需求修改的 禁用usb鼠标和键盘!客户的需求是在设置选项里面添加两个选项可以分别禁用usb鼠标 和 键盘 已经修改完成亲测!有完整的步骤和代码! 根据代码小修改一下就可以变成 随时...
用于启用和禁用一周中特定日期的日期选择器的日历 关于使用自定义对话框的巧妙而精彩的介绍,尤其是 Android 中的日期选择器对话框。 该示例提供了一种从用户选择中排除特定日期的可能解决方案,例如您可以阻止用户...
Ant design vue 的组件禁用属性 disabled
隐藏硬盘,禁用硬盘 隐藏硬盘,禁用硬盘 隐藏硬盘,禁用硬盘 隐藏硬盘,禁用硬盘 隐藏硬盘,禁用硬盘 隐藏硬盘,禁用硬盘 隐藏硬盘,禁用硬盘
关于禁用USB组件,通过加载到windows
android中常用的功能抽取出来的Demo.android dp和px之间转换,android root下禁用组件,android 还原短信,android 开机启动,android 判断网络状态,android 设置apn,android 调节屏幕亮度,android 重启,异步...
通信行业:英国宣布禁用华为5G设备,亚马逊可能启动通信卫星舰队计划-20200719-中信建投-12页.pdf
隐藏VNC托盘图标.reg 隐藏VNC托盘图标.reg 隐藏VNC托盘图标.reg 隐藏VNC托盘图标.reg
磁盘隐藏禁用工具,支持硬盘分区隐藏和禁用,很方便的保护个人隐私。
此代码来自于https://github.com/shaobin0604/Android-HomeKey-Locker。目测有效文件存在于HomeLockerLib和HomeLockerSample文件夹。
联想工程师专用小工具 win7禁用IPv6及其组件工具V2.01.1联想工程师专用小工具 win7禁用IPv6及其组件工具V2.01.1联想工程师专用小工具 win7禁用IPv6及其组件工具V2.01.1联想工程师专用小工具 win7禁用IPv6及其组件...
Android 手势检测上下滑动,上滑隐藏标题栏下滑显示标题栏,带动画效果、无卡顿、无空白。 适用各种情况,代码简单明了。
bat禁用或隐藏任意分区 :start cls echo.&echo; 禁用/隐藏任意分区 echo.&echo; 1. 禁用分区 echo 2. 解禁分区 echo 3. 隐藏分区 echo 4. 解隐分区 echo.&echo;.&set; verybat= set /P verybat= 请选择要进行的操作...
隐藏默认的android弹出窗口,如果您不希望弹出窗口显示,则有一个bool可以启用和禁用。 class SpeechToText { public const bool isShowPopupAndroid = false; ... 合并文件AndroidManifest(如果要跳过默认弹出...
android.useAndroidX=false #禁用AndroidX android.enableJetifier=false #禁止第三方jar包使用androidX 补充知识:解决Android Studio androidx 包冲突问题 如果包冲突了会包如下这样的错: Android dependency ...
网络连接图标启用和禁用小工具(396K) 在日常维护中,有用户经常更改IP地址,特别是工作组模式。 网络连接图标启用和禁用,绑定用户IP。 密码是当天的日期,如:20120229
eWebEditor_ASP_V7.3 修改只有四个功能 不能用,其它正常
ewebeditor asp jsp 编辑器 文本编辑器
Android禁用GPRS Demo效果,可以实现数据流量开关状态打开关闭等,部分手机需要进行适配
在项目中,按钮组件可以具有不同的样式(如主要按钮、次要按钮、警告按钮等)以及交互行为(如点击效果、禁用状态等),能够提升用户体验和界面交互的友好性。 表单组件:表单组件在前端项目中扮演着重要角色,用于...