RK3588 Android13 预安装自己的apk应用及把这个应用设置为默认桌面
1、cp -rf device/rockchip/rk3588/rk3588m_s/preinstall device/rockchip/rk3588/rk3588_t/
2、给device/rockchip/rk3588/rk3588_t/preinstall/的存放app的文件夹改名为app-imms2,在app-imms2放入app-imms2.apk,编译安卓源码即可,
3、编译完会在out/target/product/rk3588_t/odm/bundled_persist-app/app-imms2/app-imms2.apk生成
3、设置为默认桌面
frameworks/base/core/java/com/android/internal/app/ResolverActivity.java
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java
old mode 100644
new mode 100755
index 19e4ba405feb..4a4fdd8cc268
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -357,6 +357,39 @@ public class ResolverActivity extends Activity implementssuper.onCreate(savedInstanceState);}+
+ private void setDefaultLauncher() {
+ try {
+ PackageManager pm = getPackageManager();
+ String defPackageName = "com.lk.matrix";
+ String defClassName = "com.lk.matrix.SplashActivity";
+ Log.i("deflauncher", "deflauncher : PackageName = " + defPackageName + " ClassName = " + defClassName);
+
+ IntentFilter filter = new IntentFilter();
+ filter.addAction("android.intent.action.MAIN");
+ filter.addCategory("android.intent.category.HOME");
+ filter.addCategory("android.intent.category.DEFAULT");
+
+ Intent intent = new Intent(Intent.ACTION_MAIN);
+ intent.addCategory(Intent.CATEGORY_HOME);
+ List<ResolveInfo> list = pm.queryIntentActivities(intent, 0);
+ final int N = list.size();
+ ComponentName[] set = new ComponentName[N];
+ int bestMatch = 0;
+ for (int i = 0; i < N; i++) {
+ ResolveInfo r = list.get(i);
+ set[i] = new ComponentName(r.activityInfo.packageName,
+ r.activityInfo.name);
+ if (r.match > bestMatch) bestMatch = r.match;
+ }
+ ComponentName preActivity = new ComponentName(defPackageName, defClassName);
+ pm.addPreferredActivity(filter, bestMatch, set, preActivity);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+@Overrideprotected void onCreate(Bundle savedInstanceState) {// Use a specialized prompt when we're handling the 'Home' app startActivity()
@@ -392,7 +425,13 @@ public class ResolverActivity extends Activity implementsList<ResolveInfo> rList, boolean supportsAlwaysUseOption) {setTheme(appliedThemeResId());super.onCreate(savedInstanceState);
-
+ mResolvingHome = true;
+ if(mResolvingHome){
+ setDefaultLauncher();
+ finish();
+ return;
+ }
+ mQuietModeManager = createQuietModeManager();// Determine whether we should show that intent is forwarded
注意:包名和类名填写你自己的
+ String defPackageName = "com.lk.matrix";
+ String defClassName = "com.lk.matrix.SplashActivity";
相关文章:
RK3588 Android13 预安装自己的apk应用及把这个应用设置为默认桌面
1、cp -rf device/rockchip/rk3588/rk3588m_s/preinstall device/rockchip/rk3588/rk3588_t/ 2、给device/rockchip/rk3588/rk3588_t/preinstall/的存放app的文件夹改名为app-imms2,在app-imms2放入app-imms2.apk,编译安卓源码即可, 3、编译完会在out/…...
NLP(16)--生成式任务
前言 仅记录学习过程,有问题欢迎讨论 输入输出均为不定长序列(seq2seq)自回归语言模型: x 为 str[start : end ]; y为 [start1 : end 1] 同时训练多个字,逐字计算交叉熵 encode-decode结构: Encoder将输…...
直播回放| 机器人任务挑战赛线上培训资料合集
大赛培训回顾 5月22日,卓翼飞思实验室为全国各赛区精心组织的机器人任务挑战赛(无人协同系统)线上培训第三期顺利落下帷幕,吸引300余人参与。本次培训主要针对仿真平台的基本使用,从仿真平台获取激光雷达/视觉数据&am…...
flask Web应用的接口调试
以上上一篇 Docker部署Azure chatgpt样例应用_群晖部署chatgpt-CSDN博客 xx为例 在app.py最下方有 /conversation 接口 在api.ts文件中可见调用了 /conversation 接口。 使用chrom浏览器F12查看 Networ- 本地运行后,使用postman调试。接口地址填写 http://127.0…...
简单易懂的 API 集成测试方法
简介:API 集成测试的重要性 API 集成测试是一类测试活动,用于验证 API 是否满足功能性、可靠性、性能和安全性等方面的预期要求。在多 API 协作的应用程序中,这种测试尤为紧要。 在这一阶段,我们不仅审视单个组件,还…...
leetcode 239. 滑动窗口最大值、347.前 K 个高频元素
leetcode 239. 滑动窗口最大值、347.前 K 个高频元素 leecode 239. 滑动窗口最大值 题目链接 :https://leetcode.cn/problems/sliding-window-maximum/description/ 题目 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的…...
npm常用指令
基础 命令:run 解释:运行脚本 示例:npm run dev 命令:list || ls 解释:查看依赖列表 示例:npm list || npm ls 命令:install || i 解释:安装依赖 示例:npm install ||…...
数字孪生技术在管理中有哪些实际应用?
随着科学技术的不断提高,数字孪生技术也在不断的从理论应用至现实,并且涉及领域较为广泛。 在生产运营管理层面,通过构建数字孪生模型,企业可以精准模拟和优化生产线,实现生产流程的智能化和高效化。比如,…...
LeetCode/NowCoder-链表经典算法OJ练习3
孜孜不倦:孜孜:勤勉,不懈怠。指工作或学习勤奋不知疲倦。💓💓💓 目录 说在前面 题目一:返回倒数第k个节点 题目二:链表的回文结构 题目三:相交链表 SUMUP结尾 说在前…...
如何理解HTML语义化
如何理解HTML语义化 HTML语义化,简单来说,就是使用HTML标签来清晰地表达页面内容的结构和意义,而不仅仅是作为布局的容器。它强调使用具有明确含义的HTML标签来描述页面元素,而不是仅仅依赖CSS来实现页面的外观和布局。 理解HTM…...
Solved problem: The number of elements in the character array
Problem: 未解决的问题:字符数组中元素的个数-CSDN博客 Solution: Add \0 at the end of the character array More detailed content can be found in the link below. Sizeof and Length of character array-CSDN博客...
Flume Channels简介及官方用例
通道是在代理上暂存事件的存储库。Source 添加事件,Sink 将其删除。 1、Memory Channel 事件存储在具有可配置最大大小的内存中队列中。它非常适合需要更高吞吐量的流,但在agent发生故障时会丢失暂存数据 Property Name Default Description type …...
【AI】如何用非Docker方法安装类GPT WebUI
【背景】 本地LLM通信的能力需要做成局域网SAAS服务才能方便所有人使用。所以需要安装WebUI,这样既有了用户界面,又做成了SAAS服务,很理想。 【问题】 文档基本首推都是Docker安装,虽然很多人都觉得容器多么多么方便࿰…...
2024年ai知识库:特点、应用与搭建
随着科技的进步和企业的需要,ai知识库逐渐走进大众的视野并深受企业的青睐,掀起了搭建ai知识库的热潮。LookLook同学就来简单介绍一下关于ai知识库的特点、应用与发展趋势,带你了解2024年的ai知识库。 一、ai知识库的定义与特点 ai知识库是结…...
查询一个字符串在另一个字符串中出现的次数(java)
查询一个字符串在另一个字符串中出现的次数 例: String str1“helloworld,java,python,hellokafka,world big table helloteacher”; String str2“hello”; 字符串str2在str1中出现3次 代码 package exercise.test8;public class Demo8 {public static void mai…...
Docker in Docker 原理与实战
一、引言 随着容器化技术的普及,Docker 作为一种主流的容器管理工具,已被广泛应用于开发、测试及生产环境中。Docker 的灵活性和便捷性使得它成为 DevOps 流程中不可或缺的一部分。然而,在一些复杂的应用场景中,我们可能需要在一…...
Rust学习心得
我分享一下一年的Rust学习经历,从书到代码都一网打尽。 关于新手如何学习Rust,我之前在Hacker News上看到了这么一篇教程: 这篇教程与其他教程不同的时,他不是一个速成教程,而是通过自己的学习经历,向需要…...
K8s deployment 进阶
文章目录 K8s deployment 进阶Deployment 更新策略RecreateRollingUpdatemaxSurge 和 maxUnavailable minReadySecondsprogressDeadlineSeconds Deployment 版本回滚Deployment 实现灰度发布 K8s deployment 进阶 Deployment 更新策略 Recreate 重建 (Recreate)&…...
python实现二叉搜索树(AVL树)简单样例
一、二叉搜索树 class TreeNode:def __init__(self, value):self.value valueself.left Noneself.right Noneclass BinarySearchTree:def __init__(self):self.root Nonedef insert(self, value):if self.root is None:self.root TreeNode(value)else:self._insert(self.…...
Day47 打家劫舍123
198 打家劫舍 题目链接:198.打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,…...
2025届必备的五大降重复率平台实测分析
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术写作和论文创作的范畴之内,维普检测是颇为常见的查重办法。当遭遇人工智能…...
3分钟搞定OLED图像转换:告别繁琐的嵌入式图像预处理
3分钟搞定OLED图像转换:告别繁琐的嵌入式图像预处理 【免费下载链接】image2cpp 项目地址: https://gitcode.com/gh_mirrors/im/image2cpp 还在为Arduino项目中的图像显示而烦恼吗?每次都要打开虚拟机、安装Windows软件、处理各种格式转换&#…...
如何基于SecGPT构建企业级安全智能助手:完整实践指南
如何基于SecGPT构建企业级安全智能助手:完整实践指南 【免费下载链接】SecGPT SecGPT网络安全大模型 项目地址: https://gitcode.com/gh_mirrors/se/SecGPT SecGPT作为一款专业的网络安全大模型,为企业构建智能化安全防护体系提供了强大支持。本文…...
javaweb小区饮水机自动售水系统的设计和实现
目录同行可拿货,招校园代理 ,本人源头供货商功能需求分析核心业务功能技术实现要点安全与扩展性项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作同行可拿货,招校园代理 ,本人源头供货商 功能需求分析 用户管理模块 用户注册与…...
如何用本地备份打造数字记忆保险箱?GetQzonehistory全攻略
如何用本地备份打造数字记忆保险箱?GetQzonehistory全攻略 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在这个信息爆炸的时代,我们的数字足迹如同沙滩上的脚印…...
ai结对编程,让快马帮你自动生成openclaw多轮对话任务规划应用骨架
最近在开发一个基于OpenClaw的多轮对话任务规划应用时,发现这类项目往往需要处理大量重复性代码框架搭建工作。比如要同时兼顾意图识别、状态管理、API调用和结果生成等多个模块,光是初始化项目结构就得花上大半天。好在尝试了InsCode(快马)平台的AI辅助…...
让ai成为你的mybatis导师:用快马智能优化sql与解决映射难题
让AI成为你的MyBatis导师:用快马智能优化SQL与解决映射难题 作为一个长期使用MyBatis的开发者,我深知SQL优化和复杂映射配置的痛点。最近尝试了InsCode(快马)平台的AI辅助功能,发现它确实能成为MyBatis开发的得力助手。下面分享几个典型场景…...
PyQt异步编程实战:QThread与信号槽的完美结合
1. 为什么PyQt需要异步编程? 当你用PyQt开发图形界面程序时,最让人头疼的问题就是界面卡死。想象一下,用户点击一个按钮后,整个窗口突然变成白色,鼠标指针变成沙漏,程序就像冻住了一样——这种体验简直糟透…...
C语言联合体(共用体)的妙用:从判断大小端到节省内存的嵌入式开发技巧
C语言联合体的高阶应用:嵌入式开发中的内存优化与安全实践 在资源受限的嵌入式系统中,每一字节的内存都弥足珍贵。联合体(Union)作为C语言中一种独特的数据结构,通过共享内存空间的特性,为开发者提供了灵活…...
ComfyUI-VideoHelperSuite视频处理全攻略:从基础操作到高级应用
ComfyUI-VideoHelperSuite视频处理全攻略:从基础操作到高级应用 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite 🔍 3大认知突破࿱…...
