微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

adb Android禁用四大组件

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 举报,一经查实,本站将立刻删除。

相关推荐