- 博客(35)
- 收藏
- 关注
原创 android 11以上 截图工具类
本文提供了一个Android 11及以上系统专用的截图工具类ScreenShotUtil,该工具需要系统权限才能使用。核心功能是通过IWindowManager接口调用系统API进行屏幕截图,支持设置截图区域尺寸,返回Bitmap格式的截图结果。使用前需先调用init()初始化,获取WindowManager和IWindowManager服务,最后通过screenshot()方法获取截图。该工具类主要用于系统级应用(如负一屏截图),普通应用无法直接使用。注意使用后需调用destroy()释放资源。
2026-03-19 15:50:06
71
原创 构建自己的开发工作台MFC
摘要 "自定义工作台"是一款通过配置文件自动生成功能按钮的工具。该工具支持四种操作类型:打开文件夹(OPEN_FOLDER)、打开文件(OPEN_FILE)、执行cmd命令(EXECUTE_CMD)和打开网址(URL)。用户只需编辑config.txt配置文件,每行定义一个按钮,格式为"按钮名称,操作类型,操作内容"。工具采用MFC框架开发,实现了动态按钮创建和事件处理功能,支持每行6个按钮布局,最多可创建1000个按钮。通过读取配置文件内容,程序自动生成对应功能的按
2025-12-24 14:00:37
397
原创 车载系统应用开发集成系统API
车载开发中,为了快速迭代常将系统应用剥离为普通应用开发,但调用系统API时反射效率低。解决方法是通过集成framework.jar,但会遇到编译报错问题。通用方案是在gradle中配置bootstrapClasspath引入jar包。当使用高版本JDK时,必须强制指定模块使用JDK8并关闭lint检查才能生效。关键步骤:先加载jar包到工程,再设置模块JDK版本为1.8。
2025-12-16 16:02:25
802
原创 导航栏左右拖动切换
本文介绍了通过拖拽交互实现导航栏左右交换功能的设计方案。使用startDragAndDrop方法实现视图拖拽效果,通过修改ConstraintLayout.LayoutParams参数来改变视图位置。文章详细展示了布局代码、拖拽事件处理逻辑和位置交换的核心实现方法,并对比了ConstraintSet方法不生效的情况。最终验证了直接修改LayoutParams是有效的实现方式,为类似拖拽交互功能提供了可行的技术方案。
2025-12-16 15:21:13
277
原创 Android输入法一些常用的命令
摘要:本文介绍了Android开发中处理输入法问题的常用adb命令,包括查看系统所有输入法(ime list)、获取当前可用输入法(ime list -s)、查询当前输入法(settings get secure default_input_method)、设置默认输入法(settings put secure default_input_method)以及强制显示软键盘的设置(show_ime_with_hard_keyboard 1)。这些命令可用于调试和解决Android设备上的输入法相关异常问题。
2025-08-14 11:25:13
332
原创 Android无障碍服务
摘要:本文介绍了Android无障碍服务的实现方法,包括创建自定义AccessibilityService类监听窗口变化事件,在AndroidManifest中声明服务配置,以及通过XML定义服务监听类型。同时提供了开启/关闭无障碍服务的工具方法,以及检查服务是否启用的判断逻辑。关键点在于通过TYPE_WINDOW_STATE_CHANGED事件监听界面变化,并利用系统Settings动态管理服务状态。这些代码可用于实现基于无障碍服务的自动化操作功能。
2025-08-08 16:03:33
357
原创 Android 监听task 栈变化
本文介绍了Android系统中监听任务栈(Task Stack)变化的方法。通过注册TaskStackListener可以监听任务栈创建、移除、切换等事件。关键代码包括:使用ActivityManager.registerTaskStackListener()注册监听器,实现onTaskStackChanged()等回调方法处理不同事件,以及通过getRunningTasks()获取当前前台应用信息。这些功能可用于限制应用权限、监控任务切换等场景。
2025-08-08 16:00:58
485
原创 Bitmap 裁剪和拉伸
本文介绍了Android中常用的图片处理操作:1)将Drawable转换为Bitmap,通过Canvas绘制实现;2)Bitmap裁剪,需确保裁剪区域不超出原图范围;3)图片缩放,使用createScaledBitmap调整到指定尺寸;4)保存图片到本地存储,采用PNG格式压缩;5)获取屏幕真实分辨率,通过DisplayMetrics获取宽高值。这些方法涵盖了图片处理的基本需求,包括转换、裁剪、缩放和保存等关键操作。
2025-08-08 15:42:43
221
原创 java.lang.IllegalArgumentException: Software rendering doesn‘t support hardware bitmaps
在Android开发中,如果需要支持硬件加速,可以在AndroidManifest.xml文件中为<application>标签添加android:hardwareAccelerated="true"属性。然而,有时即使配置了硬件加速,某些项目仍可能因冲突而无法生效。此时,可以通过代码对图片进行转换来解决。以下是一个示例代码,使用Picture和Canvas将位图转换为Bitmap,并指定Bitmap.Config.RGB_565格式,以优化性能并减少内存占用。
2025-05-17 19:05:42
435
原创 Android 代码将多张图片合并成一张
本文介绍了如何使用Java代码将两张图片水平合并成一张。通过BitmapUtil类中的mergeHorizontal方法,首先对两张图片进行宽度调整,确保它们长度相近。然后,创建一个新的Bitmap对象,宽度为两张图片宽度之和加上预设的间隙,高度为两张图片中较大的高度。最后,使用Canvas将两张图片绘制到新的Bitmap上,实现水平合并。此方法可通过调整width和height参数,轻松扩展到多张图片的合并或垂直方向的合并。
2025-05-17 18:59:20
653
原创 Android 开发 如何生成系统签名
/keytool-importkeypair -k 生成的.jks -p 密码-pk8 platform.pk8 -cert platform.x509.pem -alias 用户。
2025-04-15 20:31:34
360
原创 internal error: bazel command failed: fork/exec ./build/bazel/bin/bazel: no such file or directory “
安卓源码编译报错
2024-03-13 15:40:39
2298
原创 Verification error in boolean android.app.HomeVisibilityObserver.isHomeActivityVisible()
某些应用会依赖一些第三方 jar 包,编译时如果打开了预编译优化,全编译时可能报错无法正常编译。这时候,针对单个应用,去掉其预编译优化。整包编译源码的时候的时候报错。
2023-12-22 10:59:17
630
原创 carplay问题解析流程
解决问题,需要多方沟通要点,这次问题的之所以发生,是多方都不知道,底层库不允许调用。多次调用才确定到问题点,直接底层崩溃的问题,是最难定位的,多方沟通原理才行。通过CarPlay.getCarPlayService()方法来获取服务时,未知原因崩溃,没有报错,没有异常抛出。4.修改public.libraries.txt文件,并且push进去,重启车机直接崩溃。3.运行carplay源码在非指定目录,程序崩溃报错,.so底层库,不允许调用。1.首先询问了carplay开发,服务是存在并且可用的。
2023-10-20 15:29:42
668
原创 VBA 批量 替换指定的数据
使用Excel时,我们需要批量按照某些规则替换数据,ALT+F11,调出VBA编译器,插入-模块-输入如下代码。修改范围和替换前,和替换后,执行即可。
2023-07-25 15:04:05
3878
原创 android.os.DeadSystemException
在程序压测的过程中,出现过此类问题,查了很多资料。都在说是这个问题是系统核心进程出错了,需要重启,所以杀掉了所有的应用。下面是源代码,源代码,也无法给我们任何的帮助。/** * The core Android system has died and is going through a runtime restart. All * running apps will be promptly killed. */public class DeadSystemException extends D
2022-04-25 14:20:23
6706
原创 【java.lang.IllegalStateException 小记】
java.lang.IllegalStateException: Fragment not attached toan activity.atandroidx.fragment.app.Fragment.requireActivity(Fragment.java:833)刚开始注意,其实是一个很简单的问题,就是frament没有加载到activity上,所以导致,调用requireActivity抛出此异常。通常是界面快速切换导致的问题。源码 public final FragmentActiv
2022-04-25 12:24:54
2321
原创 Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: s
问题:Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException原因:gradle 版本太低解决方案:gradle版本提高
2021-12-27 19:59:35
7618
原创 Unable to make field private final java.lang.String java.io.File.path accessible: module java.base d
问题:Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not “opens java.io” to unnamed module @4f3bc4f原因:JDK版本过高导致的。修改为正常的1.8即可解决方案:
2021-12-27 19:56:54
18410
5
原创 Android中常用的加密方式
Android中常用的加密方式HmacSHA1public static String getSignUtil(String key ,String base) { Log.i(TAG, "getSignUtil: GET SIGN"); String type = "HmacSHA1"; SecretKeySpec secret = new SecretKeySpec(key.getBytes(), type); Mac mac = null; try {
2021-12-08 15:37:21
5454
原创 安卓RSA踩坑第一弹
安卓RSA踩坑第一弹问题:解密出现了乱码首先是Base64的问题,编码问题,解析问题。然后才是RSA,和后台是不一样的,不能直接使用,代码如下。 RSAPrivateKey priKey = (RSAPrivateKey) KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec(decoded)); Cipher cipher = Cipher.getInstance("
2021-08-02 19:06:08
1531
原创 OkGo个人笔记
OkGo个人笔记一、引入implementation ‘com.lzy.net:okgo:3.0.4’二、权限<!-- 开启网络访问权限 --><uses-permission android:name="android.permission.INTERNET" /><!-- 允许访问网络状态的权限 --><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&
2021-07-24 11:16:00
212
原创 PlaySilence thread has died.
首先,打开系统的控制面板。打开页面中的realtek高清晰音频管理器。打开右上角的“插孔设置”黄色文件夹类似图标。禁用前面板插孔检测勾选中。扬声器或耳机未插入的问题就解决了。退出到控制面板,找到-声音,右键-扬声器,点击-属性,选择-高级,把48000hz改成44100hz,点击确定。重新连接就可以了!...
2020-05-18 10:13:10
1408
原创 Android 10 网络权限
Android 10 中,只在AndroidManifest.xml中使用:app不能访问网络。需要在application中添加 android:usesCleartextTraffic=“true” 。例:“ ”这样才能访问网络,刚开始没注意,略坑!...
2020-04-28 17:59:13
7281
7
原创 MqttException (0)
需要以下权限:<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android....
2019-07-29 13:28:35
2731
3
原创 Module 'app': platform 'android-26' not found.
Module ‘app’: platform ‘android-26’ not found.Ctrl+shift+alt+s 或者File > Project Structure手动选择JDK的位置。
2019-07-08 09:51:34
23140
7
原创 安卓串口编程中遇到的坑
安卓串口编程中遇到的坑Long monitor contention with owner Thread-7 (3600) at int libcore.io.Posix.readBytes(java.io.FileDescriptor, java.lang.Object, int, int)(Posix.java:-2) waiters=0 in void com.kongqw.serial...
2019-06-04 19:07:48
1798
原创 Found data binding errors.
Found data binding errors.Found data binding errors.****/ data binding error ****msg:Identifiers must have user defined types from the XML file. rbtn_de_Cz is missing itfile:E:\workspace\gedisg\app...
2019-02-28 09:22:20
3964
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅