Android9禁止某个app启动

news/2024/7/22 0:25:20/文章来源:https://blog.csdn.net/qq_44203816/article/details/139097012

禁止某个app通过开机广播自启动,覆盖住Launcher

代码位置 :

frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java

具体修改如下

public final int startActivityAsUser(IApplicationThread caller, String callingPackage,Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode,int startFlags, ProfilerInfo profilerInfo, Bundle bOptions, int userId,boolean validateIncomingUser) {enforceNotIsolatedCaller("startActivity");// for disable MQlAUNCHER begin  开始if (isMoreLauncherConfig()) {Log.d("youdianxs", "MQ CONFIG");try{ActivityInfo aInfo = resolveActivityInfo(intent, STOCK_PM_FLAGS, userId);Log.d("youdianxs", "callingPackage = " + callingPackage);Log.d("youdianxs", "callingPackageactivity = " + aInfo.taskAffinity);//判断包名if (MQ_PACKAGE.equals(callingPackage)){Log.d("youdianxs", "MQ START===" + isProhibitLauncherTime());if (isProhibitLauncherTime() && isNoMqLauncher()) {Log.d("youdianxs", "MQ lanjie");//核心代码  所有条件成立start cancelreturn ActivityManager.START_CANCELED;}}}catch(Exception e){Log.d("youdianxs", "e.getMessage = " + e.getMessage());}}// for disable MQlAUNCHER end   结束userId = mActivityStartController.checkTargetUser(userId, validateIncomingUser,Binder.getCallingPid(), Binder.getCallingUid(), "startActivityAsUser");// TODO: Switch to user app stacks here.return mActivityStartController.obtainStarter(intent, "startActivityAsUser").setCaller(caller).setCallingPackage(callingPackage).setResolvedType(resolvedType).setResultTo(resultTo).setResultWho(resultWho).setRequestCode(requestCode).setStartFlags(startFlags).setProfilerInfo(profilerInfo).setActivityOptions(bOptions).setMayWait(userId).execute();}//判断是否开机前十分钟之内private boolean isProhibitLauncherTime() {Log.d("youdianxs", "MQ time====" + (SystemClock.elapsedRealtime() / 1000 / 60));return (SystemClock.elapsedRealtime() / 1000 / 60) <= 10;}//判断此Activity是不是默认Launcherprivate boolean isNoMqLauncher() {final ArrayList<ResolveInfo> homeActivities = new ArrayList<>();ComponentName currentDefaultHome = mContext.getPackageManager().getHomeActivities(homeActivities);if (currentDefaultHome != null) {Log.d("youdianxs", "currentDefaultHome.flattenToString()====" + currentDefaultHome.flattenToString());return !currentDefaultHome.flattenToString().equals(MQ_PACKAGE + "/" + MQ_ACTIVITY);}return true;}//判断配置成立private boolean isMoreLauncherConfig() {return SvtGeneralProperties.getBoolProperty("SVT_ZC_MORE_HOME_CONFIG");}

总结 条件成立时 --------> return ActivityManager.START_CANCELED;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1054697.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在 Elasticsearch 中选择精确 kNN 搜索和近似 kNN 搜索

作者&#xff1a;来自 Elastic Carlos Delgado kNN 是什么&#xff1f; 语义搜索&#xff08;semantic search&#xff09;是相关性排名的强大工具。 它使你不仅可以使用关键字&#xff0c;还可以考虑文档和查询的实际含义。 语义搜索基于向量搜索&#xff08;vector search&…

配置旁挂二层组网直接转发示例(命令行)

业务需求 企业用户通过WLAN接入网络&#xff0c;以满足移动办公的最基本需求。且在覆盖区域内移动发生漫游时&#xff0c;不影响用户的业务使用。 组网需求 AC组网方式&#xff1a;旁挂二层组网。DHCP部署方式&#xff1a; AC作为DHCP服务器为AP分配IP地址。汇聚交换机SwitchB作…

c++(六)

c&#xff08;六&#xff09; 多态概念在c中是如何实现多态静态多态&#xff08;绑定&#xff09;动态多态&#xff08;绑定&#xff09; 动态多态的实现原理动态内存分配中遇到的问题 重载、重定义、重写的区别抽象类接口类---抽象类空类对象的内存大小explicitfinal修饰类修饰…

java调用远程接口下载文件

在postman中这样下载文件 有时下载文件太大postman会闪退&#xff0c;可以通过代码下载&#xff0c;使用hutool的http包

端口扫描利器--nmap

目录 普通扫描 几种指定目标的方法 TCP/UDP扫描 端口服务扫描 综合扫描 普通扫描 基于端口连接并响应(真实) ​ nmap -sn 网段(0/24)-sn 几种指定目标的方法 单个IP扫描 IP范围扫描 扫描文件里的IP 扫描网段,(排除某IP) 扫描网段(排除某清单IP) TCP/UDP扫描 -sS …

MoE模型大火,源2.0-M32诠释“三个臭皮匠,顶个诸葛亮”!

文 | 智能相对论 作者 | 陈泊丞 近半年来&#xff0c;MoE混合专家大模型彻底是火了。 在海外&#xff0c;OpenAI的GPT-4、谷歌的Gemini、Mistral AI的Mistral、xAI的Grok-1等主流大模型都采用了MoE架构。而在国内&#xff0c;浪潮信息也刚刚发布了基于MoE架构的“源2.0-M3…

vue3的核心API功能:computed()API使用

常规使用方法: 这样是常规使用方法. 另一种,可写计算属性的使用方法: 这样分别定义computed的get回调函数和set回调函数, 上面例子定义了plusOne.value的值为1, 那么这时候就走了computed的set回调函数,而没有走get回调函数. 当我们打印plusOne.value的值的时候,走的是get的…

基于 Solana 的 Drift Protocol 快速崛起,重新定义去中心化衍生品市场

随着区块链技术的快速发展&#xff0c;加密市场的格局正在悄然改变。投资者对透明度、效率和去中心化的需求愈发强烈&#xff0c;之前完全由中心化交易主导的加密货币交易&#xff0c;开始向链上转移。 根据 Coingecko 的最新数据&#xff0c;CEX 和 DEX 的现货交易量已经达到了…

VBA技术资料MF159:实现某个区域内的数据滚动

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的工作效率&#xff0c;而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套&#xff0c;分为初级、中级、高级三大部分&#xff0c;教程是对VBA的系统讲解&#…

python双色球选号程序的实现与解析

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、引言&#xff1a;双色球选号游戏的魅力 二、程序设计与实现 1. 生成红色球号码 2. 生…

1794 jsp蛋糕店管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 蛋糕店管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助采用了java设计&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统采用web模式&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&…

【机器学习】Apriori算法在关联规则学习中的应用

探索数据背后的奥秘&#xff1a;Apriori算法在关联规则学习中的魅力 一、关联规则学习的崛起二、Apriori算法的王者之路三、Apriori算法的实际应用 在数字时代的浪潮中&#xff0c;数据正逐渐成为推动社会发展的新引擎。如何从海量数据中挖掘出有价值的信息&#xff0c;成为了各…

【加密与解密(第四版)】第十三章笔记

第十三章 HOOK技术 13.1 Hook概述 IAT HOOK&#xff08;改地址&#xff09; BOOL IAT_InstallHook(){BOOL bResult FALSE ;HMODULE hCurExe GetModuleHandle(NULL);PULONG_PTR pt ;ULONG_PTR OrginalAddr;bResult InstallModuleIATHook(hCurExe,"user32.dll",&qu…

最新淘宝死店全自动采集私信筛选脚本,号称日赚500+【采集软件+使用教程】

原理&#xff1a; 利用脚本自动采集长时间未登录店铺&#xff0c;然后脚本自动私信对应的店铺&#xff0c;看看商家是不是不回消息来判断是否是死店&#xff0c;再下单购买死店的产品&#xff0c;超过48小时不发货就可以联系客服获得赔付&#xff0c;一单利润百分之5%-30%&…

Mybatis进阶——动态SQL(1)

目录 一、 <if> 标签 二、<trim> 标签 三、<where> 标签 四、<set> 标签 五、<foreach> 标签 六、<include> 标签 动态SQL 是Mybatis的强大特性之一&#xff0c;能够完成不同条件下的不同SQL拼接&#xff0c;可以参考官方文档&#…

失落的方舟 命运方舟台服怎么下载游戏客户端 游戏账号怎么注册

《失落的方舟》&#xff08;Lost Ark&#xff09;是韩国Smilegate公司精心打造的一款大型多人在线角色扮演游戏&#xff08;MMORPG&#xff09;&#xff0c;以其精美的画面、沉浸式的剧情、类似动作游戏的战斗体验和广阔的开放世界设定&#xff0c;自面世以来便深受全球玩家喜爱…

ELT 同步 MySQL 到 Doris

如何基于 Flink CDC 快速构建 MySQL 到 Doris 的 Streaming ELT 作业&#xff0c;包含整库同步、表结构变更同步和分库分表同步的功能。 本教程的演示都将在 Flink CDC CLI 中进行&#xff0c;无需一行 Java/Scala 代码&#xff0c;也无需安装 IDE。 准备阶段 # 准备一台已经…

调整图片和表格尺寸的命令:resizebox

\resizebox 是 LaTeX 中的一个命令&#xff0c;用于调整插入的内容&#xff08;如图像、表格、文本等&#xff09;的大小。它的语法如下&#xff1a; \resizebox{<width>}{<height>}{<content>}其中&#xff1a; <width> 和 <height> 分别表示…

Kafka原生API使用Java代码-生产者-异步发送消息回调

文章目录 1、异步发送消息&回调1.1、pom.xml1.2、KafkaProducer1.java 1、异步发送消息&回调 回调就是接收kafka的响应 1.1、pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0&q…

Facebook开户 | 如何检查公共主页的状态

想要了解你的Facebook公共主页的状态吗&#xff1f; Facebook公共主页是让广告主与粉丝互动、传播信息的绝佳平台&#xff0c;但是大家知道如何检查并维护自己的主页状态吗&#xff1f;别担心&#xff0c;Facebook提供了一系列简单易用的工具来帮助大家实现这一目标。 *Page Q…