ComponentName name = new ComponentName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name);
pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_disABLED, PackageManager.DONT_KILL_APP);
不可用状态:COMPONENT_ENABLED_STATE_disABLED
可用状态:COMPONENT_ENABLED_STATE_ENABLED
默认状态:COMPONENT_ENABLED_STATE_DEFAULT
flags:行为标签,值可以是DONT_KILL_APP或者0。 0说明杀死包含该组件的app
ComponentName 可以是包名类名
adb 手动设置:
adb shell pm enable 包名/类名
例如:adb shell pm enable com.vincent.test/.MainActivity
pm clear [--user USER_ID] PACKAGE
pm enable [--user USER_ID] PACKAGE_OR_COMPONENT
pm disable [--user USER_ID] PACKAGE_OR_COMPONENT
pm disable-user [--user USER_ID] PACKAGE_OR_COMPONENT
pm disable-until-used [--user USER_ID] PACKAGE_OR_COMPONENT
pm hide [--user USER_ID] PACKAGE_OR_COMPONENT
pm unhide [--user USER_ID] PACKAGE_OR_COMPONENT
包名类名获取:
//获取其他app的servcie
List<ResolveInfo> infos2 = pm.queryIntentServices(intent2, 0);
//获取其他app的广播
List<ResolveInfo> infos3 = pm.querybroadcastReceivers(intent2, 0);
//获取其他app的Activity
List<ResolveInfo> infos2 = pm.queryIntentActivities(intent2, 0);
//获取其他app的ContentProvider
List<ResolveInfo> infos3 = pm.queryContentProviders(intent2, 0);
其中intent2 里面可以设置 action\packageName等过滤
原文地址:https://www.jb51.cc/wenti/3285155.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。