自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (9)
  • 问答 (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 5194 22

原创 Python3.x+迅雷x 自动下载高分电影

【怒草https://blog.csdn.net/visionliao/article/details/103935091未经允许严禁转载,请尊重作者劳动成果。】快要过年了,大家都在忙些什么呢?一到年底公司各种抢票,备年货,被这过年的气氛一烘,都归心似箭,哪还有心思上班啊。归心似箭=产出低下=一行代码十个错=无聊。于是想起了以前学过一段时间的Python,自己平时也挺爱看电影的,手动点进去...

2020-01-14 10:41:46 14456 10

原创 Android N音频播放延迟

背景 在Android N上使用MediaPlayer进行高频率的音频播放,会出现很严重的声音播放延迟的问题。比如快递业务场景,在业务员正确扫描快递面单后,需要播放一个声音来提示业务员该面单已经扫描完毕,可以进行下一单扫描。业务员也是通过这个声音来作为判断标准,只有在听到声音播放的情况下才会认为这个面单已经录进了系统(出现漏扫漏件是要扣钱的),才敢进行下一个快件的扫描。这个场景需要很高的工作效率,平均每个人每秒钟会扫描3-4个快件,也就是提示的声音每秒钟需要播放3-4次。这种条件背景下,如...

2021-04-09 18:33:41 1801 1

原创 Activity和Service交互方式探讨

目录需求定义方式一:广播(Broadcast)方式二:bindService-接口回调方式三:startService和bindService混合双打方式四:单例传值方式五:配合系统级别服务其它方式需求定义假设一个设备具备装备了湿度传感器,可通过监测真实环境的湿度值来工作(如市面上的除湿设备),用户要求:除湿工作全自动化,无需人工干预,除非断电关机,否则永远在后台运行;有一个用户界面,打开可以查看当前环境的湿度值以及设备的工作状态(是否在进行除湿工作)。针对这些需求,得到

2021-03-04 17:47:28 430 2

原创 云服务系列文章(一) 阿里云和AWS

【怒草https://blog.csdn.net/visionliao/article/details/103935091未经允许严禁转载,请尊重作者劳动成果。】概述“云”这个东西程序猿肯定不会陌生,或多或少都有过接触。在如今的大趋势下,大大小小的公司都喊着上云(毕竟连我们这种小公司都上云了),各大云厂商也在疯狂的抢占市场,竞争已趋白热化。这样的好处是,云服务会变的越来越便宜,对于大多数上云的公司来说,这可以使得商业上投入的成本更加低廉。云厂商的选择如今市面上可选的云服务厂商还是比较多的..

2020-08-17 16:13:30 1308

原创 浅谈Android Print Service

Google 为了支持移动设备打印功能在Android4.4加入了printservice打印框架。既如果你想让你的打印机能够在Android系统上完成打印工作,那么一种可选的方式就是按照Google提供的打印框架来实现相关打印机的各种功能,包括发现打印机、预览、设置打印参数、打印等工作。当然,在Android设备上实现打印功能的技术多种多样,早在Google推出打印框架之前就已经有软...

2019-12-19 18:19:00 4041 1

原创 Android8.0 静态广播的接收方式改变

Android O 广播机制的改变  在Android O之前,Broadcast广播作为Android系统的四大组件之一,其使用简单,操作方便,占用资源小等优点,使其成为了Android开发中最常用的夸进程通讯方案(比AIDL、ContentProvider使用的更为频繁)。但由此带来的隐患也是显而易见的,并且这种隐患快要达到不可控制的地步。主要表现在:导致大量的第三方应用程序开机自启...

2018-12-29 13:51:59 3474

原创 微信小程序入门级实战开发指南

微信小程序入门级实战开发指南概述微信小程序,简称小程序,英文名Mini Program,是一种“不需要下载安装”即可使用的应用(实际上是需要下载安装的,只是整个过程被简化到可以让用户忽略的地步),它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。小程序基于HTML5标记语言发展而来,微信团队将HTML、CSS、JS等语言的大量常用组件进行封装,形成了一套全新的开发语言。小程序已...

2018-12-10 19:01:35 14954 5

原创 failed to set system property

Android SystemProperties.set概述  在对Android操作系统进行开发的过程中,经常需要使用到Android的隐藏API SystemProperties.set(String key, String value) 这个接口,写入一些属性值存放到系统共享内存,配合SystemProperties.get(String key) 这个接口可以很方便的实现某些功能。由...

2018-12-07 17:22:47 16019

原创 一键设置 DeviceAdmin/ProfileOwner/DeviceOwner 应用

一键设置DeviceOwner概述Android提供了三种设备管理方案,Device Administration(设备管理员), ProfileOwner(配置文件所有者)和 DeviceOwner(设备所有者)。这三种管理方案对应三种等级的管理权限,相对的,等级越高所拥有的管理权限越高,面临的风险也对大,所以,要将一个应用设置成为这些管理设备,也需要不同的权限等级。设置 Device ...

2018-12-03 15:36:53 17792 30

原创 Android DeviceOwner 应用的能力

Device Owner概述DeviceOwner 译为设备所有者,在Android5.0系统推出。DeviceOwner涵盖了DeviceAdmin用户的所有管理能力,也涵盖了ProfileOwner的所有管理能力,并且在这些基础上额外添加了一些管理权限,如重启设备、禁用状态栏等。Android提供的三种权限管理策略的能力大小依次为 DeviceAdmin < ProfileOwner...

2018-12-03 15:26:07 15099 1

原创 Android ProfileOwner 应用的能力

Profile Owner概述ProfileOwner 译为配置文件所有者,在Android5.0系统推出。ProfileOwner涵盖了所有DeviceAdmin用户的管理能力,并且额外添加了很多管理权限。Android系统只能设置一个Profile Owner程序,并且该程序在设置为ProfileOwner后不能取消,应用不能卸载,唯一可以取消的途径是恢复出厂设置。ProfileOwne...

2018-12-03 15:22:08 5226

原创 Android Device Administration 应用的能力

Device Administration概述DeviceAdmin是Android2.2引入的方案,通过用户授权自己的应用设备管理权限后,可以在代码中修改一些系统设置,主要的功能是围绕锁屏这一块对权限比较“敏感”的区域。Android系统在同一时间可以拥有多个Device Admin程序,并且可以有多个同时处于激活状态。Device Administration 在Android9.0(A...

2018-12-03 15:17:46 4785

原创 Android DevicePolicyManager 设备管理

Android 设备管理概念简述Android已然成为用户基数最大的智能手机系统,随着各行各业的加入,Android的不足之处也逐渐显现出来,显然有很多特殊行业并不适合使用Android系统。Google为了应对不同用户群体,慢慢的完善推出了DevicePolicyManager。DevicePolicyManager,设备策略管理器。顾名思义,DevicePolicyManager为An...

2018-12-03 13:54:04 4966 5

原创 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 6424

原创 Android O 在源码中打包具有系统API功能的jar包

    我们在开发中经常要封装一些接口, 打包成jar包供app调用. 有时候我们需要打包一些具有系统API功能的jar包, 这时就需要在源码中去编译jar的源文件. 我在Android O的项目上开发应用程序时, 需要用到系统的一些功能, 想在源码中打包出一个功能丰富的jar包, 然后在IDE中使用, 比如Eclipse中使用, 这中间碰到了很多问题.使用BUILD_JAVA_LIBRARY...

2018-07-31 12:40:41 3292 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 3620

原创 Android O 源码中编译程序, 关于32/64位so库兼容问题的记载

由于项目需求,需要在Android O系统中加入第三方库, Android O 默认编译的是64位操作系统, 第三方公司提供了32位和64位的库, 但是在实际应用过程中还是遇到了种种问题, 在此做个记录, 希望遇到同样问题的小伙伴们不要掉入相同的坑.具体分为以下几个问题:系统是怎样判断一个应用是32/64位架构 如何在源码中将自己写的应用编译成32/64位 系统级应用如何使用apk自身...

2018-07-23 11:27:05 11039 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 2117

原创 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 2565

原创 Android蓝牙通信

Android为蓝牙设备之间的通信封装好了一些调用接口,使得实现Android的蓝牙通信功能并不困难。可通过UUID使两个设备直接建立连接。   具体步骤:    1.  获取BluetoothAdapter实例,注册一个BroadcastReceiver监听蓝牙扫描过程中的状态变化mBluetoothAdapter = BluetoothAdapter.getDefaultAdapt

2015-02-02 16:40:44 3558 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 12342

原创 Android4.4 无Proximity Sensor的设备拨号中实现自动灭屏

现在的电子产品越来越人性化,用户友好化,在给用户带来全新体验的同时,也在改变着人们的日常生活,所以说科技是伟大的,创新是伟大的。    随着移动设备的多元化发展,各种微型芯片的嵌入,使得它的功能越来越强大。比如各种各样的Sensor,最常见的一种是Proximity Sensor,现在的品牌机几乎都具备,也就是在打电话的时候,为了避免误操作,在电话接近耳朵的时候让手机处于灭屏状态,要实现这一功

2015-01-23 15:26:35 5101 1

原创 AIDL在android系统中的作用

AIDL,Android Interface definition language的缩写,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口。最近看了下AIDL在Android系统中的用法,在网上看到很多初学的朋友不太明白AIDL的实际作用,android提供了很多进程间通信的组件,像action、broadcast、contentprovide都可以实现进程间

2015-01-15 16:15:57 4848 1

原创 android4.3 解压、打包boot.img新脚本

要解压boot.img

2014-05-09 18:21:06 12001 13

原创 在framework中添加字符串资源

又是一个星期一,淡疼!    在frame

2014-04-28 20:26:14 3798 1

原创 Android应用层修改LED指示灯

今天真是

2014-04-23 17:31:48 14134 5

原创 Android 系统自动重启Bug(高通平台)

最近客户反馈了一个Bug,安

2014-04-18 18:41:30 11424 3

原创 Android4.3 屏蔽HOME按键返回桌面详解(源码环境下)

首先声明我是做系统开发的,

2014-04-17 15:07:37 15526 9

MaJiongMdmControl.zip

Android系统开发中的超级权限管控类APP,可以配合System Service开发出对外的MDM管控平台。

2020-10-30

system.sepolicy.patch

Android N之后的系统,系统开发中添加一个系统级服务需要添加的SELinux权限,做成patch,仅供参考。

2020-10-30

BuiltInPrintService.zip

Android P默认打印服务源代码。 Android P默认打印服务源代码。 Android P默认打印服务源代码。

2019-12-19

FileProvider实现进程间资源共享

客户端安装应用的实现代码,采用FileProvider方式分享Uri给服务端安装应用程序

2018-11-08

Android使用JNI案例

Android使用JNI案例下载。

2016-05-26

Android蓝牙设备之间通过UUID通信

Android蓝牙通信实例,有客户端和服务端两个程序,以便理解起来更加简单明了。

2015-02-02

关于Java反射机制的小例子

最近在看蓝牙方面的东西,要使用蓝牙设备进行通讯必须的先使两个设备之间建立连接,Android SDK中提供了一些方法可供调用,但是有些方法没有提供接口,于是参考了网上的一些资料写了这个例子,顺便学习下Android反射机制的使用,自测OK,留待以后使用。

2015-01-30

Java synchronized使用案例

java synchronized的一些小实验,对帮助理解synchronized的使用有一定的帮助。

2015-01-16

split boot.img

适用于高通平台android4.3系统,4.4应该也行,没有验证。

2014-08-15

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

TA关注的人

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