![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android开发
文章平均质量分 91
怒草
一屋两人三餐四季
展开
-
Android N音频播放延迟
背景 在Android N上使用MediaPlayer进行高频率的音频播放,会出现很严重的声音播放延迟的问题。比如快递业务场景,在业务员正确扫描快递面单后,需要播放一个声音来提示业务员该面单已经扫描完毕,可以进行下一单扫描。业务员也是通过这个声音来作为判断标准,只有在听到声音播放的情况下才会认为这个面单已经录进了系统(出现漏扫漏件是要扣钱的),才敢进行下一个快件的扫描。这个场景需要很高的工作效率,平均每个人每秒钟会扫描3-4个快件,也就是提示的声音每秒钟需要播放3-4次。这种条件背景下,如...原创 2021-04-09 18:33:41 · 1923 阅读 · 1 评论 -
Activity和Service交互方式探讨
目录需求定义方式一:广播(Broadcast)方式二:bindService-接口回调方式三:startService和bindService混合双打方式四:单例传值方式五:配合系统级别服务其它方式需求定义假设一个设备具备装备了湿度传感器,可通过监测真实环境的湿度值来工作(如市面上的除湿设备),用户要求:除湿工作全自动化,无需人工干预,除非断电关机,否则永远在后台运行;有一个用户界面,打开可以查看当前环境的湿度值以及设备的工作状态(是否在进行除湿工作)。针对这些需求,得到原创 2021-03-04 17:47:28 · 439 阅读 · 2 评论 -
Android原生系统开发如何优雅的提供系统级的API供第三方程序调用?
目录故事背景一、对外提供接口有哪些方式?二、开发步骤Step1.添加一个专属系统级服务2.1.1.模仿Android原生服务接口,如WifiManager,规划自己的Manager2.1.2.为我们的Manager生成AIDL2.1.3.编写系统级服务2.1.4.注册服务2.1.5.初始化服务2.1.6.添加编译规则2.1.7.为新服务添加SELinux权限Step2.打包SDK,供第三方程序调用2.2.1.打包SDK2.2.2.使用SDKStep原创 2020-11-03 10:49:16 · 5605 阅读 · 22 评论 -
云服务系列文章(一) 阿里云和AWS
【怒草https://blog.csdn.net/visionliao/article/details/103935091未经允许严禁转载,请尊重作者劳动成果。】概述“云”这个东西程序猿肯定不会陌生,或多或少都有过接触。在如今的大趋势下,大大小小的公司都喊着上云(毕竟连我们这种小公司都上云了),各大云厂商也在疯狂的抢占市场,竞争已趋白热化。这样的好处是,云服务会变的越来越便宜,对于大多数上云的公司来说,这可以使得商业上投入的成本更加低廉。云厂商的选择如今市面上可选的云服务厂商还是比较多的..原创 2020-08-17 16:13:30 · 1332 阅读 · 0 评论 -
浅谈Android Print Service
Google 为了支持移动设备打印功能在Android4.4加入了printservice打印框架。既如果你想让你的打印机能够在Android系统上完成打印工作,那么一种可选的方式就是按照Google提供的打印框架来实现相关打印机的各种功能,包括发现打印机、预览、设置打印参数、打印等工作。当然,在Android设备上实现打印功能的技术多种多样,早在Google推出打印框架之前就已经有软...原创 2019-12-19 18:19:00 · 4292 阅读 · 1 评论 -
java.lang.SecurityException: Permission requires the provider be exported, grantUriPermission()
java.lang.SecurityException: Permission Denial: reading … requires the provider be exported, or grantUriPermission()声明:我没有从本质上解决这个问题,只能通过其它的办法绕开这个问题。最近开发应用程序静默安装功能,并且不想改动系统原有的安装应用的框架,因为万一有什么问题会影响系统稳...原创 2018-11-08 17:12:10 · 6618 阅读 · 0 评论 -
Android O 在源码中打包具有系统API功能的jar包
我们在开发中经常要封装一些接口, 打包成jar包供app调用. 有时候我们需要打包一些具有系统API功能的jar包, 这时就需要在源码中去编译jar的源文件. 我在Android O的项目上开发应用程序时, 需要用到系统的一些功能, 想在源码中打包出一个功能丰富的jar包, 然后在IDE中使用, 比如Eclipse中使用, 这中间碰到了很多问题.使用BUILD_JAVA_LIBRARY...原创 2018-07-31 12:40:41 · 3314 阅读 · 1 评论 -
Android O 添加系统服务错误 add_service uid=1000 - PERMISSION DENIED
最近在Android 8.1上添加了一个叫scan的系统服务(如何添加一个系统服务不做介绍), 在其它应用中调用这个服务: private ActionScanManager mScanManager; private void test(Context context) { if (context == null) return; mScanM...原创 2018-07-26 15:08:55 · 3666 阅读 · 0 评论 -
Android O 源码中编译程序, 关于32/64位so库兼容问题的记载
由于项目需求,需要在Android O系统中加入第三方库, Android O 默认编译的是64位操作系统, 第三方公司提供了32位和64位的库, 但是在实际应用过程中还是遇到了种种问题, 在此做个记录, 希望遇到同样问题的小伙伴们不要掉入相同的坑.具体分为以下几个问题:系统是怎样判断一个应用是32/64位架构 如何在源码中将自己写的应用编译成32/64位 系统级应用如何使用apk自身...原创 2018-07-23 11:27:05 · 11155 阅读 · 1 评论 -
Android Jni使用案例
Android上层和C/C++层通信可以通过JNI实现,具体做法有两种:一:采用默认的本地函数注册流程 1). 编写带有native方法的Java类; Gpio.java 代码: package com.prowave.jnitest; public class Gpio { public String printJNI(St原创 2016-05-26 15:12:21 · 2126 阅读 · 0 评论 -
android 加入FLAG_ACTIVITY_NEW_TASK
startActivity时报错 from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag 原因是Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法,如果使用Activity的startActivity方原创 2015-10-20 17:06:44 · 2598 阅读 · 0 评论 -
Android蓝牙通信
Android为蓝牙设备之间的通信封装好了一些调用接口,使得实现Android的蓝牙通信功能并不困难。可通过UUID使两个设备直接建立连接。 具体步骤: 1. 获取BluetoothAdapter实例,注册一个BroadcastReceiver监听蓝牙扫描过程中的状态变化mBluetoothAdapter = BluetoothAdapter.getDefaultAdapt原创 2015-02-02 16:40:44 · 3564 阅读 · 1 评论 -
Android4.4 Makefile属性:LOCAL_AAPT_FLAGS的使用
今天改导入/导出联系人方面的东西,导入/导出联系人的这个面板是一个DialogFragment,跟了下代码发现其实现packages/apps/ContactsCommon中,那么在其中添加了一些Log,进入到packages/apps/ContactsCommon/目录下,mm,编译生成了一个com.android.contacts.common.apk,把此程序push到系统中,添加的Log信原创 2015-01-28 17:38:03 · 12417 阅读 · 0 评论