自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

自我记录贴

漂洋过海的灰机。。。

  • 博客(60)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android 使用 PackageInstaller 实现静默安装,并通过 BroadcastReceiver 自动重启应用

在 Android 系统中,如果你的应用具有系统权限(如系统签名或安装在 /system/priv-app 目录),就可以使用实现 APK 的静默安装。安装完成后,我们通常希望应用能够自动重启,以便更新立即生效。监听安装事件捕获自定义安装完成事件 (自动启动自身应用使用安装 APK 的完整代码适用于 OTA 升级、企业设备更新、Kiosk 设备、医疗设备等定制系统。

2025-12-11 16:41:28 283 1

原创 RK3568 异常掉电后 PowerKey 与屏幕亮灭不同步的解决方案

解决思路只有一个:让 Android 内部状态机、Backlight 状态、Display 状态三者保持一致。内核 Backlight 驱动:开机时强制恢复亮度Android Framework:重置 PowerManager 状态机PowerKey 事件:输入层校准逻辑实际项目里三个方案可以混用,效果最佳。异常掉电导致 PowerKey 与屏幕亮灭不同步是 RK3568 工控行业中非常典型的问题。本质是“内核背光状态”与“Android Power 状态机”之间不同步造成的。

2025-12-04 11:12:38 643

原创 RK3568 在外部电源移除后自动进入休眠(Suspend)方案详解

外部电源移除 → 自动切换电池供电 → 自动进入休眠(Suspend-to-RAM)核心步骤如下:PMIC 检测 AC 掉电内核更新 power_supply 状态udev 监听事件 → 触发 systemd suspend整个方案稳定、安全,且在实际产品中广泛使用。

2025-12-04 10:29:38 847

原创 RK356x 上换 U-Boot 的 logo

在 RK356x 上换 U-Boot 的 logo,流程其实就是一场“从像素到闪存”的短途旅行:你要把一张普通图片,变成早期引导阶段能被 U-Boot 识别的位图格式,然后再把它塞进 bootloader 的资源区,再重新编译、打包、刷入。看上去严肃,其实技术仪式感十足。下面给你一份从零到成的,Android/嵌入式工程师能直接照做的那种。

2025-12-02 13:06:39 603

原创 Android Gradle(构建工具)版本 和 Android Gradle Plugin (AGP) 的对应关系

在 Android 项目中,与的版本必须严格匹配,否则会在构建时出现错误。下面整理了从的对应关系。

2025-09-24 14:04:37 1849

原创 Android kotlin学习

摘要:本文介绍了Kotlin在Android开发中的学习路径,从基础语法到进阶应用。主要内容包括:1) Kotlin基础(变量、函数、空安全等);2) Android开发基础(Activity、布局、事件等);3) MVVM架构与Jetpack组件;4) 协程异步编程;5) Jetpack Compose UI开发。同时推荐了官方文档、中文资源和学习建议,强调项目实践的重要性。适合不同基础的开发者系统学习Kotlin Android开发。

2025-07-04 11:57:37 1189

原创 线性插值和线性回归

【代码】线性插值和线性回归。

2025-01-23 09:32:45 134

原创 Android WorkManager使用介绍

如果你有特殊需求,例如需要与某些后台服务进行交互,可以考虑实现自定义的Scheduler接口。但这通常不是必需的,因为默认的(API 21+)和(API < 21)已经能够满足大多数情况下的需求。

2024-12-31 14:05:50 1371

原创 Android板上CAN口出现“bus off”。

"Bus off" 状态表明 CAN 节点遇到了较为严重的通信问题,通常是由于过多的错误帧、物理连接问题、配置错误或硬件故障引起的。解决方法包括复位控制器、检查和修复物理连接、验证配置正确性、排除硬件故障等。

2024-12-19 10:56:12 784

原创 Fragment两种切换方式

选择哪种方法取决于你的具体需求。如果你只是想简单地切换当前显示的 Fragment,而不需要保留所有 Fragment 的状态,那么第二种方法可能是更好的选择。如果你需要多个 Fragment 共存,并且可以在任何时候切换回来,那么第一种方法会更适合。你可以使用事务添加多个 Fragment 到同一个容器中,然后通过显示或隐藏不同的 Fragment 来达到切换的效果。

2024-09-23 17:05:38 771

原创 Android设备静电测试,屏幕文字消失。

当进行静电测试时,Android设备上的屏幕显示可能会受到影响,尤其是在静电放电(ESD)过程中。这种现象可能是由于静电放电导致设备内部电路暂时性地出现故障或复位,从而影响了屏幕的显示。针对屏幕上的文字消失的情况,这通常是由于静电放电导致设备的某些部分暂时性地停止工作。如果这个问题在测试中频繁发生,建议联系设备制造商或专业的测试实验室寻求技术支持。

2024-08-15 10:36:39 588

原创 Android5.1 文件AES加密

@param outputFiles 将写入加密数据的输出文件。* @param outputFiles 将写入解密数据的输出文件。* @throws Exception 如果在解密过程中出现错误。* @param inputFiles 要加密的输入文件。* @param inputFiles 要解密的输入文件。* @param key 用于加密的密钥。* @param key 用于解密的密钥。* 使用AES加密算法对文件进行加密。* 解密使用AES加密算法加密的文件。

2024-06-20 16:48:56 537

原创 Android 获取内外SD卡路径

这些方法能帮助开发者在应用中合理管理和使用存储空间,确保应用稳定运行。在编写相关代码时,务必遵守Android官方的开发指南和最佳实践。

2024-05-24 16:53:20 2000

原创 常用的 Git 命令

【代码】常用的 Git 命令。

2024-03-27 17:56:55 260 1

原创 android 网络检测简单方法

这些方法可以帮助你更准确地检测当前连接的WiFi是否可用,即使WiFi连接没有网络也可以进行可用性检测。请注意,在实际应用中,你可能需要根据具体情况调整和优化这些方法。如果连接的WiFi没有网络,无法通过简单的网络状态检查来判断其可用性。

2024-03-18 09:43:12 1203

原创 SQLite,ROOM 清空表数据并将自增量归零

/3. 将sqlite_sequence表清空数据。//1. 将表名为tablename的自增量置0。//2. 将表名为tablename的记录删除。

2024-01-16 13:25:08 1830

原创 CanFestival结合Android来完成canopen通信

配置CAN总线接口硬件需要根据具体的硬件要求进行,常见的方法包括使用串口或USB连接CAN总线接口,并且在Android系统中安装CAN总线驱动程序来确保接口硬件能够被操作系统识别。注意它俩的版本要对应上,还有看好是64位,还是32位,python环境变量一定要设置。(1)去下载python软件,搭建python,不懂百度。(2)下载wxpython软件,地址附在下方。

2024-01-03 09:23:41 1216 1

原创 CAN的所有命令

2.3.

2023-12-27 14:39:34 1279

原创 Android 使用poi生成Excel ,word并保存在指定路径内

【代码】Android 使用poi生成Excel ,word并保存在指定路径内。

2023-11-09 15:51:43 1526

原创 Android 深色模式切换适配

在Android11上测试。

2023-11-08 16:26:03 834

原创 移植CANFestival到Linux平台

根据所使用的CAN总线适配器型号,下载并安装相应的驱动程序。创建一个新的C文件,例如main.c,并编写应用程序代码。使用ip命令创建和配置CAN接口。下载CANFestival源代码,并使用make命令编译。生成CANFestival的配置文件,并进行必要的编辑。使用gcc编译应用程序,并链接CANFestival库。#根据提示进行配置,包括CAN总线参数和节点参数。// 初始化CANFestival。

2023-10-24 09:30:08 1010 1

原创 Android 系统级APP锁屏

intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "请激活设备管理器以使用锁屏功能");// 如果设备管理器未激活,请提示用户激活设备管理器。

2023-10-23 11:00:06 428

原创 Android中PowerManager 类中找不到 goToSleep()

请注意,这种方法会绕过所有已持有的唤醒锁(wake locks),并尝试将设备置于休眠状态。需要特殊权限才能执行此操作。方法,可能是因为该方法是 Android SDK 的隐藏方法。这种情况下,您需要使用反射来调用该方法。

2023-10-19 10:12:39 1180

原创 win下android 系统签名生成。

/.android/debug.keystore:表示生成文件路径,替换成具体路径。platform:表示别名,替换成自己的就可以。android:表示密码,替换成自己的就可以。执行命令最好在git中去执行。

2023-09-15 10:07:12 575

原创 RK3568 刷固件工具,ADB命令常用汇总

说明:将特定窗口的图层捕获为 bimmap,然后存到设备 /data/misc/wmtrace/a.png 此路径下。15、adb logcat -v time >所存储的文档路径(新建一个文本文档,直接拖进去就是路径) 抓取日志。19、adb pull 要导出的文件路径 导出文件所要存储的路径 导出文件到本地。说明: 设置显示区域大小 , 坐标值:依次为左、上、右、下。20、adb push 本地文件路径 要导入到设备里的文件路径 从本地导入文件。说明:把自定义的屏幕分辨率设置参数 重置。

2023-09-13 13:03:14 1087

原创 SlidingMunlib侧滑

导入slidingmenu_library libs包主代码块private void getslidingmenu() { // 实例化滑动菜单对象 mSm = new SlidingMenu(this); // 设置可以左右滑动的菜单 mSm.setMode(SlidingMenu.LEFT); // 设置滑动菜单视图的宽度 mW

2023-06-14 11:44:04 1070

原创 Android与服务器之间加密

发送方使用接收方的公钥进行加密,并将其发送给接收方,接收方使用自己的私钥进行解密。非对称加密的好处是加密过程安全,但速度较慢。SSL/TLS:这是一种基于公共密钥加密的协议,它可以确保数据在传输过程中不被篡改或窃听。SSL/TLS通常用于HTTPS协议,即在HTTP的基础上添加了SSL/TLS加密功能。对称加密:这是一种加密技术,其中发送方和接收方使用同一个密钥来加密和解密数据。使用SSL/TLS协议进行数据传输,并且用AES加密数据,并使用RSA公钥进行加密、私钥进行解密。// 3. 发送加密数据。

2023-06-14 11:38:48 1288

原创 Markdown编辑器使用

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S

2023-03-23 13:38:34 697

原创 Flutter 布局记录

此贴为自己学习记录flutter所写布局 里面有基本平时常用布局的一些效果和一些组件属性,加了刷新和加载。class Home_page extends StatelessWidget { const Home_page({Key key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( ...

2021-04-22 09:19:16 291 1

原创 Flutter BottomNavigationBar保持数据状态

flutter中BottomNavigationBar保持数据状态的方法 直接在Scaffold body中去添加一个IndexedStack来接受当前页面index:id,在children中去赋值它的页面组件即可。class BottomNavgetionWiget extends StatefulWidget { @override _BottomNavgetionWigetState createState() => _BottomNavgetionWigetState();.

2021-04-19 10:45:31 640 2

原创 android 修改字体

//字体修改private void initTypeface() { try { Field field = Typeface.class.getDeclaredField("SERIF"); field.setAccessible(true); field.set(null, Typeface.createFromAsset(getA...

2019-11-26 13:13:51 365

原创 JAVA获取当前日期

import java.util.*;      public class D    {    public static void main(String []abc)    {    int y,m,d,h,mi,s;    Calendar cal=Calendar.getInstance();    y=cal.get(Calendar.YEAR);    m=cal.g...

2018-09-18 11:06:09 10930 1

原创 Android中List转换为String字符串,String字符串转换数组。

//把List集合转换为字符串用&amp;隔开StringBuffer stringBuffer = new StringBuffer();for (int i = 0; i &lt; list.size(); i++) { stringBuffer.append(list.get(i).toString().trim() + "&amp;");}String s = strin...

2018-08-06 14:34:02 9580

原创 Android 查看jks中 所有信息

1.打开命令行输入CMD,回车。2.再命令行中输入 keytool -list -v -keystore 路径.jks   -storepass 密码3.回车就能看到所有信息。

2018-07-10 09:31:01 3051

原创 Android bulid.gradle管理

在对一些依赖包升级的时候可以去统一管理gradle的版本 避免遗漏和减少时间1.在project 的根目录创建一个config.gradle(名字随意只要后缀必须是gradle)2.在新创建的config.gradle中去写自己需要的一些依赖3.写完 这些依赖后 在project的根目录的build.gradle中去添加所创建的config报名去声明4.最终在你所有import project的m...

2018-07-02 16:27:20 280

原创 Android 按back键两次退出程序 or 按back键相当与Home键来返回手机主页

private long exitTime = 0;@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) { if (KeyEvent.KEYCODE_BACK == keyCode) {/* //点一次返回相当于home键 moveTaskToBack(true);*/ ...

2018-05-15 16:46:38 835

原创 仿微信,QQ聊天页面时间戳的转换

//只需要传入时间戳即可public class DateUtils { private static SimpleDateFormat sf = null; /*时间戳转换成字符窜*/ public static String getDateToString(long time) { Date d = new Date(time); ...

2018-02-09 09:41:51 1793

原创 Android删除手机内置内存卡上的某个文件夹以及文件夹下的文件

删除手机内置内存卡上的某个文件夹以及文件夹下的文件public void deleteDir() { File dir = new File(Environment.getExternalStorageDirectory().getPath() + "/pdf"); deleteDirWihtFile(dir);}public void deleteDirWihtFi

2018-02-06 15:41:31 774

原创 android 检查电话号码是否合理(含大陆和香港格式)

public class PhoneFormatCheckUtils {       /**    * 大陆号码或香港号码均可    */      public static boolean isPhoneLegal(String str)throws PatternSyntaxException {         return isChinaPhoneLegal(st

2018-01-31 13:28:54 1200

原创 Android 调用手机自带下载器

创建一个广播类public class UpdataBroadcastReceiver extends BroadcastReceiver { @SuppressLint("NewApi") public void onReceive(Context context, Intent intent) { long myDwonloadID = intent.getL

2018-01-19 17:09:27 2904

xList下拉刷新上啦加载

libs包来快速实现下拉刷新上啦加载

2017-04-28

slidingmenu侧滑

slidingmenu侧滑

2017-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除