android
文章平均质量分 85
ansondroider
不积跬步,无以至千里;不积小流,无以成江海。
展开
-
Android MediaPlayer + GLSurfaceView 播放视频
在Android开发中,使用OpenGL ES来渲染视频是一种常见的需求,尤其是在需要实现自定义的视频播放界面或者视频特效时。结合MediaPlayer,我们可以实现一个功能强大的视频播放器。以下是一个简单的示例,展示如何在Android应用中使用OpenGL ES和MediaPlayer播放本地视频。原创 2024-09-16 19:09:48 · 1747 阅读 · 1 评论 -
RK3568 Android 11 蓝牙BluetoothA2dpSink 获取用于生成频谱的PCM
音乐频谱是声音频率的分布图。声音是由不同频率的声波组成的,这些声波的振幅(强度)不同,就形成了不同的音色。频谱图就是将这些频率和振幅的关系用图形表示出来。RK3568 Android 11 中, 如何在A2dpSink中获取用于生成音频频谱的PCM数据原创 2024-08-28 16:26:10 · 1056 阅读 · 1 评论 -
Android TableLayout中TextView文本不居中问题
使用TableLayout布局电话的拨号按键界面, 开发过程的某次修改后, TextView在垂直方向的居中失效了, 即使设置了gravity 为center属性也不行原创 2024-08-21 15:03:30 · 660 阅读 · 0 评论 -
Android AOSP 编译并烧录到Google Pixel4XL
AOSP(Android Open Source Project)是Android系统的开源版本,任何人都可以下载、编译和修改。手头上有一台Pixel 4XL,尝试编译AOSP并将其烧录到的设备上。原创 2024-06-24 23:14:21 · 936 阅读 · 0 评论 -
Android ListView鼠标模式下ListView回滚问题
在 Android 应用程序中,ListView 是一种常用的控件,用于显示可滚动列表数据。然而,当在鼠标操作模式下使用 ListView 时,可能会遇到一个问题:点击列表项时,列表会回滚到指定位置,这可能会导致用户体验不佳。原创 2024-05-26 17:32:16 · 367 阅读 · 0 评论 -
Android 11 裁剪系统显示区域(适配异形屏)
在显示技术中,"OverScan"(超扫描)是一种调整显示图像边界的技术。通常情况下,OverScan 会在显示屏的边缘周围裁剪一小部分图像。这种裁剪是为了确保显示内容在屏幕上的完整可见性,尤其是在老式电视或投影仪等设备上,可能存在图像边缘出现失真或过多噪点的问题。OverScan 通过裁剪图像边缘,可以隐藏显示器边缘的任何不完美之处,例如边缘上的噪点、失真或黑边。这有助于确保图像在屏幕上的边缘部分看起来整洁且不受干扰,提供更好的观看体验。原创 2024-04-27 11:23:57 · 1610 阅读 · 2 评论 -
Android 7.1 允许应用访问该USB设备弹窗
Android的USB开发, 经常碰到权限的问题, 比如, 本文所提及的一类弹窗: 允许应用”XXX应用”访问该USB设备吗?在RK3128 android 7.1的平台上, 碰到的问题是, 勾选了: 默认情况下使用该USB设备 后, 每次拔插USB 设备, 弹窗还是会出现原创 2024-02-28 09:40:25 · 1981 阅读 · 0 评论 -
Android使用ScrollView导致鼠标点击事件无效
Android中, 添加到ScrollView中的控件, 在使用鼠标作为输入设备时, 某些特定的条件下, 子控件的点击事件无效原创 2024-02-01 16:11:45 · 1192 阅读 · 0 评论 -
Android12 WIFI 无法提供互联网连接
ConnectivityService是Android系统中负责处理网络连接的服务之一。它负责管理设备的网络连接状态,包括Wi-Fi、移动数据、蓝牙等。Android12 中的Wifi连接, 单无法提供互联网连接修改记录原创 2023-12-05 16:29:03 · 1587 阅读 · 1 评论 -
Android 12 打开网络ADB并禁用USB连接ADB
Android 调试桥 (adb) 是一种功能多样的命令行工具,可让您与设备进行通信。adb 命令可用于执行各种设备操作,例如安装和调试应用。adb 提供对 Unix shell(可用来在设备上运行各种命令)的访问权限。尝试修改adb显示名称, 单独打开网络调试.原创 2023-11-27 13:49:55 · 1583 阅读 · 0 评论 -
Android 12 客制化修改初探-Launcher/Settings/Bootanimation
Android12 使用 Material You 打造的全新系统界面,富有表现力、活力和个性。使用重新设计的微件、AppSearch、游戏模式和新的编解码器扩展您的应用。支持隐私信息中心和大致位置等新的保护功能。使用富媒体内容插入功能、更简便的模糊处理功能、经过改进的原生调试功能等提高工作效率.本文用于记录一些基于RK3588 Android12 的客制化修改内容原创 2023-11-15 18:41:36 · 1082 阅读 · 0 评论 -
Android Gradle 命令打包AAR
Android Archive (AAR) 文件是一种特定于Android的存档文件格式,用于将Android库和资源打包成单个可重用的单元。生成的AAR文件将位于your-library-project/build/outputs/aar/目录中,其中your-library-project是你的库项目的目录名。首先,创建一个Android库项目,该项目将包含你的库代码和资源。你可以使用Android Studio创建项目,或者手动创建一个包含build.gradle文件的项目目录。原创 2023-10-13 17:06:03 · 1836 阅读 · 0 评论 -
Android EditText setTranslationY导致输入法覆盖问题
输入框使用了setTranslationY() 位置偏移后, 输入法无法正确获取焦点的位置。原创 2023-09-09 15:47:35 · 548 阅读 · 0 评论 -
Android 从LibVLC-android到自编译ijkplayer播放H265 RTSP
从LibVLC-android 到 使用ijkplayer 替换的过程。ijkplayer官方的描述就简单的一句话,但丝毫都不影响它的强大。可以用来替换系统的播放组件,支持RTSP等在线格式原创 2023-08-01 22:07:14 · 2159 阅读 · 0 评论 -
Android TvSettings Bug: 密码框无法点击唤起输入法
Android 10 的Box方案, 默认使用的是TvSettings作为系统设置,输入操作的习惯上是使用鼠标,键盘,遥控,日常的场景是没有问题,也不会出现本文中提及的问题。当外接的USB触摸屏后,出现无法点击WIFI密码框换出输入法进行输入密码操作。从图1开始添加WIFI,并准备输入密码时,外接的USB触摸屏没有办法点击唤起输入法。原创 2023-07-14 15:23:02 · 1366 阅读 · 0 评论 -
Ubuntu 编译 OpenCV SDK for Android + Linux
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,它提供了很多函数,这些函数非常高效地实现了计算机视觉算法(最基本的滤波到高级的物体检测皆有涵盖)。OpenCV 的应用领域非常广泛,包括图像拼接、图像降噪、产品质检、人机交互、人脸识别、动作识别、动作跟踪、无人驾驶等。OpenCV 还提供了机器学习模块,你可以使用正态贝叶斯、K最近邻、支持向量机、决策树、随机森林、人工神经网络等机器学习算法。通过源码编译可供LINUX、Android使用的SDK原创 2023-07-03 17:39:40 · 1000 阅读 · 1 评论 -
Android 全局黑白化-模拟颜色空间
在一些特殊的日子,如默哀日、灾难日,纪念日,哀悼日等,许多的APP、网页、海报等都开始使用黑白色主题。Android 的全局黑白实现方案,可以考虑使用模拟颜色空间的方法。借助硬件加速渲染选项,您可以利用基于硬件的选项(如 GPU、硬件层和多重采样抗锯齿 (MSAA)针对目标硬件平台优化应用。点按模拟颜色空间可以更改整个设备界面的配色方案。此设置下面的选项是指色盲类型。已停用(无模拟配色方案)全色盲(配色方案限于黑色、白色和灰色)原创 2023-06-17 21:26:20 · 1222 阅读 · 0 评论 -
AI-新手玩转RKNN
RKNN 是 Rockchip npu 平台使用的模型类型,以.rknn后缀结尾的模型文件。Rockchip 提供了完整了模型转换 Python 工具,方便用户将自主研发的算法模型转换成 RKNN 模型,同时 Rockchip 也提供了C/C++和Python API 接口。原创 2023-05-27 15:34:32 · 6703 阅读 · 0 评论 -
Android RenderScript 浅谈
RenderScript是一个Google出品的,在Android平台上的并行计算框架,官方的简介是说RenderScript运行时可在设备上提供的多个处理器(如多核 CPU 和 GPU)间并行调度工作。在日常Android开发中,RenderScript主要用于图像处理。比如对图片做高斯模糊等,都可以用RenderScript处理。原创 2023-04-02 19:46:43 · 1409 阅读 · 0 评论 -
Android Activity中捕获KEYCODE_DPAD_CENTER按键
Activity可以正捕获到按键的down和up事件, 当输入DPAD_CENTER按键是后,只接收到了一次ACTION_UP, 且Activity后续onKeyDown、onKeyUp都没有监听到按键进来。原创 2023-03-13 12:33:32 · 1239 阅读 · 1 评论 -
Android 11 旧版本兼容修改:TelephonyManager的getDeviceId和getSubscriberId; WifiManager.setWifiEnabled
随着Android的更新,越新的版本收紧的权限越来越多,伴随着很多曾经可用的接口慢慢地出现了问题。原创 2023-02-15 09:49:31 · 3249 阅读 · 0 评论 -
Android 11 SystemUI(状态/导航栏)-状态栏下拉时图标的隐藏与通知面板的半透黑色背景
Android 11 SystemUI1. 状态栏下拉时图标的隐藏2. 通知面板的半透黑色背景原创 2023-02-01 21:06:38 · 2948 阅读 · 0 评论 -
Android 11 SystemUI(状态/导航栏)-图标按键的深浅色
自 Android 5.0 版本,Android 带来了沉浸式系统 bar(状态栏和导航栏),Android 的视觉效果进一步提高,各大 app 厂商也在大多数场景上使用沉浸式效果。6.0开始提供了View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR标志位,将状态栏设置为浅色模式, 清除掉这个标志, 可以恢复为深色模式.Android M如何设置状态栏图标黑白色。原创 2023-01-08 19:49:24 · 3621 阅读 · 0 评论 -
linphone android sdk 源码下载编译
前面的有写过Android 使用Linphone SDK开发SIP客户端相关的文章, 在后续的开发过程中, 为了更深入了解linphone, 便尝试下载SDK源码自行编译.关于linphone这里不作过多介绍, 可以参考前面的文章.是一个将 Liblinphone 及其依赖项捆绑为 git 子模块的项目,目的是简化整个 Liblinphone 套件的编译和打包,包括 Mediastreamer2、Belle-sip、oRTP 等。它的编译生成一个 SDK,适合创建在这些组件之上运行的应用程序。原创 2023-01-03 11:07:42 · 2081 阅读 · 0 评论 -
Android 11 的状态栏的隐藏
Android 11 的状态栏与导航栏较之前的版本有较大的差异, 在Android 7.0 SystemUI 状态/导航栏的隐藏与显示中所描述的部分内容已不再适用.比如, 自动隐藏的时间, 隐藏的动画, 较之前的版本已面目全非, 本文将对隐藏状态栏部分的内容进行一些补充.原创 2022-12-12 19:06:12 · 6079 阅读 · 4 评论 -
android WebRtc 视频通话(P2P)
android端使用WebRTC 实现P2P 语音和视频电话呼叫,无需帐户或访问互联网。 没有发现机制,没有网格化,也没有服务器。原创 2022-12-01 16:47:56 · 5794 阅读 · 5 评论 -
AndroidStudio 导入项目模块失败
导入几年前写的代码模块失败, 最后发现竟是build.gradle文件的问题原创 2022-11-18 16:42:23 · 1567 阅读 · 0 评论 -
Android 使用Linphone SDK开发SIP客户端
有了解过互联网电话服务或IM(即时消息)功能的.一般都会接触到VOIP和SIP, 实现即时通讯, 发文本消息也好话音通话也好, 甚至于视频通话.关于SIP(Session Initiation Protocol,会话初始协议)VoIP是一个广义术语,可用于描述任何互联网电话服务,从低成本的住宅服务到企业统一通信工具的复杂实现。VoIP是一个可以用来描述任何基于Internet的电话服务的术语,而SIP是一种用于大多数类型VoIP部署的通信协议.Android 使用Linphone SDK 开发SIP原创 2022-11-08 10:40:51 · 5619 阅读 · 4 评论 -
Android 离线文字转语音功能-TTS(Text To Speech)
在 Android 中,TTS全称叫做 Text to Speech,从字面就能理解它解决的问题是什么,把文本转为语音服务,意思就是你输入一段文本信息,然后Android 系统可以把这段文字播报出来。这种应用场景目前比较多是在各种语音助手APP上,很多手机系统集成商内部都有内置文本转语音服务,可以读当前页面上的文本信息。原创 2022-10-18 15:50:43 · 14021 阅读 · 1 评论 -
Android 11 ANR
如果 Android 应用的界面线程处于阻塞状态的时间过长,会触发“应用无响应”(ANR) 错误。如果应用位于前台,系统会向用户显示一个对话框,ANR 对话框会为用户提供强制退出应用的选项。原创 2022-10-08 09:35:39 · 744 阅读 · 0 评论 -
Andoroid 11 开机广播处理超时导致第三方应用启动延迟
RK3566 + Android 11, 在测试过程中, 发现第三方应用的开机自启时间加长了, 在显示Launcher后, 还需要等待超过1分钟的时间. 后续在查LOG中发现以以下异常LOG(Timeout of broadcast BroadcastRecord):started 60000ms ago 表明是开始于1分钟前的广播处理超时, 这时候广播会继续下发, 这时候第三方应用才开始接收到开机广播并执行相应的操作, 比如自启.原创 2022-09-17 10:59:02 · 2267 阅读 · 3 评论 -
Android 11 上的文件读写权限(MANAGE_EXTERNAL_STORAGE)
Android 权限的变化, 几乎每个版本的SDK都会有, 其中最大的一次是在6.0时, 增加的动态权限申请。要访问管理外部存储的文件, 需增加MANAGE_EXTERNAL_STORAGE权限的申请原创 2022-09-02 20:57:51 · 37087 阅读 · 7 评论 -
Android 11 替换Launcher后导致近期任务无效
替换默认主界面, 更换为指定第三方Launcher后, 点击导航栏的RECENT键无效. 究其原因在于, 在旧版本SDK上, 删除Launcher3并不会影响RECENT的功能 , 而在新的SDK上,RECENT功能集成于Launcher3目录下, 删除 Launcher3后, 导致SystemUI调用对应的RECENT界面启动的服务失败....原创 2022-08-15 14:28:27 · 3912 阅读 · 6 评论 -
Android 裁剪摄像头预览窗口-SurfaceView
Android 下, 使用SurfaceView显示摄像头预览, 通常使用的是一个矩形窗口, 如果, 要使用一个圆形窗口呢?原创 2022-08-10 19:57:21 · 1893 阅读 · 0 评论 -
Android 7.1 设置-内存
RK3288 + Android 7.1在设置中, 查看系统内存使用情况, 源码分析记录原创 2022-07-26 20:18:46 · 1128 阅读 · 0 评论 -
Android通过JNI操作GPIO
在应用层通过JNI操作主板上的GPIO.原创 2022-07-20 14:05:33 · 1250 阅读 · 0 评论 -
RK3188 Android5.1 双屏异显副屏显示异常
RK3188 + Android 5.1 在实现了双屏异显功能后,问题并非必现,需要在特定情况下,比如本文中的问题:安装多几个应用, 就有一定概率出现 同显情况下, 看不出有问题, 当开始异显后, 副屏只亮背光而无图像信号, 切回同显也是好的...原创 2022-06-11 14:41:23 · 1997 阅读 · 0 评论 -
RK3288 Android 7.1 dumpsys meminfo 无法获取内存信息问题
RK3288 + Android 7.1dumpsys meminfo 执行后无法获取APP内存信息分析看下权限,初步判断权限的问题点:一般情况下, SELINUX的LOG会出现:然而在多次测试后, 并没有出现类似问题的LOG之后, 开始折腾这两个文件 :加了一堆关于 -EACCES的LOG, 始终定位不到问题…最后, 终于在GOOGLE上找到:frameworkkernel补丁打上, 解决dumpsys meminfo分析Linux open系统调用流程浅析op原创 2022-06-02 17:10:10 · 820 阅读 · 0 评论 -
Android 重写TextView的onDraw函数遇坑记
平台RK3288 + Android 7.1 + Android Studio Chipmunk | 2021.2.1问题尝试在TextViewimport android.app.Activity;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.R原创 2022-05-16 10:58:47 · 1209 阅读 · 0 评论 -
Ubuntu 20.04编译AOSP 并启动模拟器
平台CPU: Intel® Core™ i7-8700 CPU @ 3.20GHzDDR: 24GB硬盘: SSD 1TB系统: Ubuntu 20.04 x64概述疫情期间居家办公, 为方便调试, 从清华镜像下载了AOSP的代码准备编译后尝试使用模拟器调试, 编译完成后, 发现模拟器启动不了, 要么卡死, 要么崩溃, 历经波折, 最终更新后得以解决, 特此记录.环境搭建参考, 建议以官方说明或厂商开发文档中的环境搭建说明为主#JDKsudo add-apt-repository ppa原创 2022-04-17 19:44:25 · 12012 阅读 · 5 评论