当前位置: 首页 > news >正文

Android15系统实现刷机防呆功能

最近遇到一个项目,客户要求4G的ddr固件不能刷机到3G的ddr大货主板上来,怕这样出货之后引起投诉。因为本身客户有多个项目在进行,有4G的固件和3G的固件,要求不能进行互刷,至少要进系统后有提示刷错固件。我采用的方法是系统进到桌面Launcher后去获取ddr的容量,判断不对就弹一个不可点击不可消失的弹框,客户也满意接受,具体的代码实现如下:

diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java
index 4e566abddc..cfc23335dc 100644
--- a/src/com/android/launcher3/Launcher.java
+++ b/src/com/android/launcher3/Launcher.java
@@ -285,6 +285,8 @@ import java.util.function.Predicate;import java.util.function.Supplier;import java.util.stream.Stream;+import android.app.ActivityManager;
+import android.app.AlertDialog;/*** Default launcher application.*/
@@ -595,6 +597,19 @@ public class Launcher extends StatefulActivity<LauncherState>RuleController.getInstance(this).setRules(RuleController.parseRules(this, R.xml.split_configuration));}
+
+        ActivityManager activityManager = (ActivityManager) getSystemService(this.ACTIVITY_SERVICE);
+        long totalMemory = activityManager.getTotalRam();
+        //Log.d("wzh","Laucher_totalMemory = " + totalMemory);
+        if(totalMemory < 2786946304L || totalMemory > 3586946304L) {
+           AlertDialog.Builder builder = new AlertDialog.Builder(this);
+           builder.setTitle("软件错误")
+           .setMessage("内存不对")
+           .setCancelable(false);
+
+           AlertDialog dialog = builder.create();
+           dialog.show();
+        }}protected ModelCallbacks createModelCallbacks() {

http://www.dtcms.com/a/283938.html

相关文章:

  • Flutter在Android studio运行出现Error: Entrypoint is not a Dart file
  • C++网络编程 2.TCP套接字(socket)编程详解
  • 微信小程序列表数据上拉加载,下拉刷新
  • ASP .NET Core 8实现实时Web功能
  • Python 网络爬虫 —— 提交信息到网页
  • AI算法之图像识别与分类
  • 电力载波通信技术(PLC)发展全解析:从历史演进到未来趋势
  • RabbitMQ概述和工作模式
  • 永磁同步电机MTPA与MTPV曲线具体仿真实现
  • Python学习之——序列化与反序列化
  • 常用的100个opencv函数
  • [RAG] LLM 交互层 | 适配器模式 | 文档解析器(`docling`库, CNN, OCR, OpenCV)
  • 加速度传感器方向校准方法
  • RGBA图片格式转换为RGB格式(解决convert转换的失真问题)
  • OpenCV中VideoCapture 设置和获取摄像头参数和Qt设计UI控制界面详解代码示例
  • (四)OpenCV——特征点检测与匹配
  • 分布式分片策略中,分片数量的评估与选择
  • MacOS安装linux虚拟机
  • GPU的barrier
  • OpenCV中常用特征提取算法(SURF、ORB、SIFT和AKAZE)用法示例(C++和Python)
  • Linux的Ext系列文件系统
  • 一文掌握Harbor的配额管理和GC机制
  • Kubernetes架构原理与集群环境部署
  • VMware Workstation Pro 17下载安装
  • C++ AVL树实现详解:平衡二叉搜索树的原理与代码实现
  • [yotroy.cool] 记一次 spring boot 项目宝塔面板部署踩坑
  • LeetCode|Day16|387. 字符串中的第一个唯一字符|Python刷题笔记
  • 高光谱相机(Hyperspectral Camera)
  • 虚拟内存管理-抖动和工作集
  • 告别手动报表开发!描述数据维度,AI 自动生成 SQL 查询 + Java 导出接口