自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (9)
  • 收藏
  • 关注

原创 android R通知--锁屏通知的显示

锁屏通知的显示管理是在Settings中通过Settings provider的数据库字段管控的,SystemUI在com.android.systemui.statusbar.NotificationLockscreenUserManagerImpl.java中通过动态监听数据库字段进行关联,相关代码如下:mContext.getContentResolver().registerContentObserver( Settings.Secure.getUriFor(Set...

2021-03-13 15:29:00 1814 1

原创 Android常见内存泄漏场景

如果在内存泄漏后再去找原因修复比较困难而且会增加开发成本,所以需要在开发的时候就应该考虑内存问题,下面列出一些常见的内存泄漏场景:1.资源性对象为关闭资源性对象(如Cursor、File等)往往都会使用缓冲,她们缓存不只存于java虚拟机内,还存在java虚拟机外,如果只是设置为null,而不关闭她们就会内存泄漏,所以在引用最后先调用她的close()然后再设置为null。2.注册的对...

2019-09-24 11:15:45 248

原创 android N systemUI的VOLTE图标显示

现在android N之后很多手机都支持VOLTE了,而android手机的VOLTE是独立于其他的网络的,但是对于VOLTE打开关闭对于用户直观的显示是如何操作的呢?也就是在状态栏上的显示如何更新:    在SystemUI上VOLTE图标的显示是通过监听PhoneStateListener的状态来改变的,是在frameworks\base\packages\SystemUI\src\com

2017-06-29 10:05:48 3863

原创 Android N的铃声问题(2)

在上一篇文章中介绍了Android N的铃声保存问题,这一篇文章介绍的为Android N的铃声读取流程,以手机响铃过程作介绍,当手机判断来电时会调用packages\services\Telecomm\src\com\android\server\telecom\Ringer.java的startRinging方法: public void startRinging(Call fore

2017-05-11 16:38:20 2186 2

原创 Android N的铃声问题(1)

在做Android N的项目时遇到设置SD卡里的音乐为手机铃声后,把SD卡拨出,进入设置铃声里面查看铃声显示为“未知铃声”,而且来电响铃还是设置的SD卡铃声,而不是Android M之前的默认铃声,于是研究了一下Android N的铃声问题。   在手机里面设置铃声时调用的是protected void onSaveRingtone(Uri ringtoneUri) {

2017-05-11 16:04:56 1960

转载 Android N SettingsProvider的数据保存

Android M之前SettingProvider数据储存的位置在手机目录/data/data/com.Android.providers.settings/databases下不过目前的Android版本虽然也有这个目录,其中却没有对应的文件在,本文是看下当前的数据到底存储在哪里。代码在在frameworks/base/packages/SettingsProvider

2017-05-11 16:00:57 1851

原创 L版本如何在来电时直接显示全屏界面

HeadsUp 是 google 在 L 版本上面 PhoneStatusBar 中新增的功能.而在未锁屏时来电就是通过这种方式来显示的. 从而替代了全屏显示来电界面的方式.如果客户还是倾向于全屏显示来电界面. 则可以通过如下方式来单独关闭通话的 HeadsUp 功能(关键字"turn off HeadsUp for dialer")File: framewor

2016-12-08 16:16:02 1026

原创 Android系统LOG分析

上层log我们主要关注events_log,main_log,radio_log和sys_log。这几个log的类型在alps/framework/base/core/java/android/util/Log.java中定义:    /** @hide */ public static final int LOG_ID_MAIN = 0;    /** @hide */ public s

2016-12-08 16:12:52 1705

原创 后台播放音乐时,设置手机铃声,后台音乐不会暂停

手机后台播放音乐时,设置手机铃声,后台音乐不会暂停,此现象的为设置手机铃声界面,并没要加入播放的foucs机制,此修改在packages\providers\MediaProvider\src\com\android\providers\media\RingtonePickerActivity.java中import android.media.AudioManager;imp

2016-12-07 11:27:13 2308

原创 默认连接电脑的模式为MTP

Android L后默认的usb连接模式为“仅充电”,而且不会随用户每次的选择而记住,假如需要修改默认的usb连接模式并且需要记住用户的选择,需要修改以下一些代码:1.需要把mk文件中的persist.sys.usb.config=mtp这样默认的连接模式就为MTP,但是修改此处后usb电脑手机重启后会在PC端显示两个手机储存】、2.此时需要修改packages/pro

2016-12-06 15:15:00 4958 1

转载 Android 7.0编译的遇到的一些问题

Android7.0(也就是Android N)上默认使用JACK编译器而不再使用openjdk了,但发现JACK不是很好用,比如最大的一个问题就是,同一台linux服务器上不允许不同用户同时进行andorid7.0的编译,原因就是后面开始编译的用户无法正常启动jack server,而jack server居然不能关闭,虽然JACK文档中有说提供一些宏,只要设置宏为对应的值就可以关闭,但实测发现

2016-12-06 15:11:45 9114 2

转载 在导航栏中添加音量加减button

一些Android音量调节button。或者从保护实体按键的角度考虑,就须要在导航栏的虚拟按键中加入音量加减调节按键。效果例如以下图所看到的:实现步骤例如以下:1.首先在SystemUI中加入音量加减的资源文件。路径例如以下:frameworks/base/packages/SystemUI/res/将图片放入相应的drawable目录,

2016-08-26 17:17:49 2219

原创 Android framework的一些经验

1.怎样自定义intent选择界面的标题在intent选择界面,系统会列出所有符合intent筛选条件的Activity,intent选择界面的标题默认统一显示" Complete action using",如果想要使用自己定义的标题,可以使用Intent.createChooser()的方法来创建intent,并传入想要的String作为标题。以wallpaper选择框为例,当在Launc

2016-08-23 18:57:48 473

原创 android 源码截图分析

Android手机同时按住Volume Down键+power键,就会进行截屏,跟Android L源码得知此操作的处理是在frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java中处理的,当用户按住Volume Down键或者power键都好去调用interceptScreenshot

2016-08-23 17:45:37 1046

原创 MTK平台apn&spn的配置

APN的类型分为web(internet),wap,mms三种类型,用于手机中上网时数据交换的接入点名称配置与显示。APN配置的时候,出现的type的值主要有:default,mms,supl,dun。Default常用于一般的数据业务,主要有internet,wap,web;mms类型用于彩信接收发送的业务;supl用于gprs上网;dun用于wifi等上网类型。配置时注意事项:

2016-08-03 17:47:00 4958

JCVideoPlayerStandard使用Demo

JCVideoPlayerStandard自定义的demo,可以实现流媒体播放

2017-11-24

JCVideoPlayerStandard源码

jiecaovideo开源项目-JCVideoPlayerStandard本身就具有自动记忆播放进度的功能,全屏状态下具有手势快进和快退的功能,以及左边控制亮度,右边控制音量,实现自定义的视频播放

2017-11-24

OkHttp的3.4.1jar

android网络框架之OKhttp一个处理网络请求的开源项目,是安卓端最火热的轻量级框架

2017-11-24

Gson的2.2.4jar

GSON是Google开发的Java API,用于转换Java对象和Json对象,比Json解析数据更强大更方便

2017-11-24

glide-3.7.0

glide的3.7.0jar,Glide,是Android中一个图片加载开源库

2017-11-24

工厂自动测试源码

包括开关机测试、铃声震动测试、音频测试、视频测试、LCD测试、TW测试、相机测试、充电测试、EMMC(文件读写)测试

2017-06-29

没有NavigationBar的机型上屏幕固定时取消固定功能

海外项目没有NavigationBar时,要过CTS必须要有屏幕固定功能,但是没有NavifationBar屏幕固定功能启用后无法取消此功能,以下为修改此问题代码,其中PhoneWindowManager文件搜索含有“Screen Pinning”注释位置处的代码,ActivityManagerService文件搜索执行notifyLockTaskState方法的位置处代码与原生代码对比,此为Android 5.0的代码

2016-12-07

锁屏壁纸功能

锁屏壁纸的设置请搜索add keyguard_wallpaper,设置后保存成功然后在systemUI的PhoneStatusBar.java中的PanelHolder.setBackgroundDrawable(background);方法设置锁屏壁纸,此功能需要系统底层开放一些权限,具体的权限因各平台而异,以上patch为MTK6735平台

2016-12-06

虚拟导航栏隐藏功能patch

此功能主要添加frameworks\base\services的功能在此目录下请搜索FEATURE_AUTO_HIDE_NAVIGATIONBAR,frameworks\base\packages\SystemUI下按键添加,需要隐藏导航栏是请发送广播"com.yulong.navigationbar.statuschange",隐藏后需要显示导航栏请从下往上滑动,此功能只针对虚拟按键

2016-12-06

空空如也

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

TA关注的人

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