
安卓
文章平均质量分 71
启航风起时
这个作者很懒,什么都没留下…
展开
-
Messaging项目说明
Messaging介绍一款系统短信应用项目结构app:主程序chips:系统扩展控件photoviewer:图片预览器项目说明数据加载(同步mmssms.db数据)同步工作从 BugleApplication 创建时发起;依次执行 DataModel.immediateSync –> SyncManager.immediateSync –> SyncMessagesAction.sync 在这里创建 SyncMessagesAction 对象;然后将该SyncMes原创 2021-07-26 09:55:59 · 82 阅读 · 0 评论 -
Android如何让应用在待机休眠的维持心跳运行
1、AlarmManager.ELAPSED_REALTIME:使用相对时间,可以通过SystemClock.elapsedRealtime()获取(从开机到现在的毫秒数,包括手机的睡眠时间),设备休眠时并不会唤醒设备。JobScheduler是在Android 5.0添加的,它可以检测网络状态、设备是否充电中、低电量、低存储等状态,当所有条件都满足时就会触发执行对应的JobService来完成任务。在 Android 设备上,默认情况下,当设备进入休眠状态时,网络连接会自动断开以节省电池。原创 2023-06-15 13:44:13 · 4462 阅读 · 3 评论 -
Android使用BACnet协议对设备进行控制和状态读取
关于BACnetBACnet 是一个为嵌入式系统实现的 BACnet (楼宇自动化和控制网络)专门协议。 BACnet 本身就是一个标准的路由协议设计用于处理通信自动化的建筑,如空调系统和其他暖通设备。Android如何使用BACnet使用bacnet4j这个库bacnet4j使用Yabe这个模拟器进行测试BACnet读取测试public class ReadTest01 { public static void main(String[] args) throws Exceptio原创 2022-05-11 11:00:19 · 1657 阅读 · 3 评论 -
Android7.1.2修改以太网静态设置
如何设置以太网有线网络静态配置从源码看设置以太网配置调用的是EthernetManager的setConfiguration方法,所以我们就只需要创建IpConfiguration这个实例,他的构造方法传入值是最终配置的参数就是StaticIpConfiguration这个类来配置ipAddress,gateway,dnsServers这三个值涉及的类主要有,但这些都是隐藏的apk无法调用,只能通过反射进行调用,但前提是你的apk是系统apk,不然没有权限。 private static原创 2022-04-24 11:13:51 · 3407 阅读 · 0 评论 -
Android jxl读取excel文件异常:Unable to recognize OLE stream 的解决方法
jxl读取excel文件异常:Unable to recognize OLE stream 的解决方法jxl只支持97到03版本的xls,在电脑上另保存一份xls再放到Android的assets目录下,写excel的时候把这个模板拷到内存下。Android使用Jxl对excel追加写入 try { File file; File dir = new File("/storage/emulated/0/TempRecord/");原创 2021-08-20 15:54:51 · 674 阅读 · 0 评论 -
Linux系统编译应用
编译:(1)初始化编译环境source build/envsetup.sh(2)选择项目lunch 列举所有X //X为对应项目序号 (编译分支:17.aosp_coral-userdebug)(3)编译源码make -j X // X为编译使用线程数量(4)编译单个模块:mmm或者mm 如:mmm packages/apps/Settings2.Android Studio 导入系统源码(1)初始化编译环境source build/envsetup.sh(2)选择原创 2021-07-20 15:13:13 · 59 阅读 · 0 评论 -
系统应用编译问题总结
目录目录 1一、 背景 2二、 系统部分移植总结 22.1、缺库 22.2、混淆 42.3、资源文件包含 4三、 应用部分移植总结 5语法报错 5BuildConfig文件缺失问题 7切面编程问题 7DataBinding问题 7四、 遗留问题 81、外部so库没有编入到apk中 82、 混淆问题 8五、 问题总结 84.1系统部分 8一、背景为了更好的对app进行版本管理,跟随基线版本走。将系统以往独立开发的app集成到系统中统一管理。二、系统部分移植总结本次重原创 2021-07-20 14:57:12 · 98 阅读 · 0 评论 -
IntentService源码分析
IntentService源码分析1.创建HandleThread HandlerThread thread = new HandlerThread("IntentService[" + mName + "]"); thread.start();2.拿到HandlerThread的Looper创建Handler mServiceLooper = thread.getLooper(); mServiceHandler = new Servi原创 2021-03-30 14:27:25 · 193 阅读 · 0 评论 -
Messaging短信源码导入AndroidStudio
文章目录前言一、导入源码二、添加依赖1.引入framework.jar2.引入其他依赖3.引入so库Apk签名总结前言要对短信应用进行二次开发,之前也没有怎么搞过系统app这块,网上提供开发方式主要有两种,一种是在系统源码下修改然后通过mm命令进行编译,编译生成的apk再安装到手机上,这种方式配置没有那么麻烦,但是每一次开发和安装比较繁琐。另外一种就是导入到AndroidStudio进行开发,这种方式后面开发过程体验较好,只是前期环境配置比较麻烦。一、导入源码我下载的是Android11的源码,原创 2021-03-11 15:43:18 · 639 阅读 · 0 评论 -
极光接入厂商推送踩的坑
极光接入厂商推送注意问题华为1.华为推送不支持自定义channel_id,从EMUI 10.0版本开始推送服务将通知消息智能分成三个级别:一般、重要和非常重要。EMUI 10.0之前的版本没有对通知消息进行分类,只有一个级别,消息全部通过“默认通知”渠道展示,等价于EMUI 10.0的重要级别消息。所以自定义channel_id配置不起作用,导致测试时有的有铃声有的没有。小米1.极光后台配置的channel_id,需要在小米后台配置。2.小米推送默认显示应用图标,黑底的话状态栏显示完全白色的图标。原创 2020-12-23 11:19:16 · 1651 阅读 · 2 评论 -
Android自定义Sunburst Chart(太阳图)
功能一种显示树形结构的图表,内圆是外圆的父节点,一层层显示绘制效果图使用示例package com.eroad.product.tools;import android.animation.ValueAnimator;import android.app.Activity;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android原创 2020-08-14 19:31:04 · 547 阅读 · 0 评论 -
开源一个kotlin练手项目
基金助手学习kotlin练练手,做了一个基金数据查看的APP,可以随时查看基金预期收益和基金统计数据和财经新闻。首页数据页新闻页目前还是初步开发阶段,后面慢慢完善,给个start鼓励鼓励我吧项目地址,欢迎star...原创 2020-08-11 16:29:24 · 289 阅读 · 0 评论 -
Anr常见的几种日志导出方式
Anr常见的几种分析方式1.首先为什么会产生anrInput事件超过5s没有被处理完Service处理超时,前台20s,后台200sBroadcastReceiver处理超时,前台10S,后台60s2.怎么获取anr的日志1.通过adb pull data/anr/traces.txt导出/data/anr/trace.txt文件,查看anr发生的进程和发生原因2.有些手机没有办法获取到traces.txt文件,可以通过adb bugreport这个过程比较慢,有些低版本需要指定生成路径原创 2020-05-20 19:21:30 · 1120 阅读 · 0 评论 -
最全的ADB命令合集
ADB命令大全转载于此 GitHub 仓库 。注: 有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。基本用法命令语法为命令指定目标设备启动/停止查看 adb 版本以 root 权限运行 adbd指定 adb server 的网络端口设备连接管理查询已连接设备/模拟器USB 连接无线连接(需要借助 USB 线)无线连接(无需借助...转载 2018-12-01 14:22:04 · 4046 阅读 · 0 评论 -
发布jar包到maven服务器
1、下载apache_maven,并配置环境变量2、在APACHE_MAVEN_HOME/conf/settings.xml servers标签下加入如下配置:<server> <id>AutelAndroid</id> ID <username>admin</username> ...原创 2018-12-27 09:04:39 · 395 阅读 · 0 评论 -
OpenAlpr车牌识别功能实现
关于OpenALPROpenALPR是一种使用C ++编写的开源自动车牌识别库,支持多个国家多个地区的车牌。而最近公司想做车牌识别这一块业务,要支持全球多个国家的车牌,于是写了个Demo测试OpenAlpr的接口(有2000次免费机会)。功能实现import android.app.Activity;import android.content.ContentValues;import ...原创 2018-12-18 20:30:26 · 3311 阅读 · 0 评论 -
Git工作中常用命令
Git常用命令Git工作流程workspace: 本地的工作目录index:缓存区域,临时保存本地改动local repository: 本地仓库,只想最后一次提交HEADremote repository:远程仓库Git常用命令Git 本地分支管理查看、切换、创建和删除分支git br -r # 查看远程分支git br &lt;new_branch&...原创 2019-01-03 15:07:57 · 129 阅读 · 0 评论 -
ItemDecoration常见使用
1、实现分割线效果适用于LinearLayoutManager 和 GridLayoutManagerimport android.content.Context;import android.content.res.Resources;import android.graphics.Canvas;import android.graphics.Color;import android...原创 2019-01-09 16:54:29 · 935 阅读 · 0 评论 -
Android 常用gradle脚本
app打包重命名applicationVariants.all { varint -> varint.outputs.all { if (varint.buildType.name.equals("release")) { def releaseApkName = "123"+app_testVersionName+".apk" ...原创 2019-06-26 10:25:29 · 327 阅读 · 0 评论 -
Camera对焦的几种方式
自动对焦1、通过Camera的AutoFocusCallbackcamera.cancelAutoFocus(); //每次对焦前取消自动对焦final String currentFocusMode = params.getFocusMode();params.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);camera.setPara...原创 2018-12-01 14:10:07 · 4065 阅读 · 0 评论