- 博客(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
1860
1
原创 Android常见内存泄漏场景
如果在内存泄漏后再去找原因修复比较困难而且会增加开发成本,所以需要在开发的时候就应该考虑内存问题,下面列出一些常见的内存泄漏场景:1.资源性对象为关闭资源性对象(如Cursor、File等)往往都会使用缓冲,她们缓存不只存于java虚拟机内,还存在java虚拟机外,如果只是设置为null,而不关闭她们就会内存泄漏,所以在引用最后先调用她的close()然后再设置为null。2.注册的对...
2019-09-24 11:15:45
269
原创 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
3953
原创 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
2255
2
原创 Android N的铃声问题(1)
在做Android N的项目时遇到设置SD卡里的音乐为手机铃声后,把SD卡拨出,进入设置铃声里面查看铃声显示为“未知铃声”,而且来电响铃还是设置的SD卡铃声,而不是Android M之前的默认铃声,于是研究了一下Android N的铃声问题。 在手机里面设置铃声时调用的是protected void onSaveRingtone(Uri ringtoneUri) {
2017-05-11 16:04:56
1994
转载 Android N SettingsProvider的数据保存
Android M之前SettingProvider数据储存的位置在手机目录/data/data/com.Android.providers.settings/databases下不过目前的Android版本虽然也有这个目录,其中却没有对应的文件在,本文是看下当前的数据到底存储在哪里。代码在在frameworks/base/packages/SettingsProvider
2017-05-11 16:00:57
1892
原创 L版本如何在来电时直接显示全屏界面
HeadsUp 是 google 在 L 版本上面 PhoneStatusBar 中新增的功能.而在未锁屏时来电就是通过这种方式来显示的. 从而替代了全屏显示来电界面的方式.如果客户还是倾向于全屏显示来电界面. 则可以通过如下方式来单独关闭通话的 HeadsUp 功能(关键字"turn off HeadsUp for dialer")File: framewor
2016-12-08 16:16:02
1081
原创 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
1767
原创 后台播放音乐时,设置手机铃声,后台音乐不会暂停
手机后台播放音乐时,设置手机铃声,后台音乐不会暂停,此现象的为设置手机铃声界面,并没要加入播放的foucs机制,此修改在packages\providers\MediaProvider\src\com\android\providers\media\RingtonePickerActivity.java中import android.media.AudioManager;imp
2016-12-07 11:27:13
2332
原创 默认连接电脑的模式为MTP
Android L后默认的usb连接模式为“仅充电”,而且不会随用户每次的选择而记住,假如需要修改默认的usb连接模式并且需要记住用户的选择,需要修改以下一些代码:1.需要把mk文件中的persist.sys.usb.config=mtp这样默认的连接模式就为MTP,但是修改此处后usb电脑手机重启后会在PC端显示两个手机储存】、2.此时需要修改packages/pro
2016-12-06 15:15:00
5005
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
9143
2
转载 在导航栏中添加音量加减button
一些Android音量调节button。或者从保护实体按键的角度考虑,就须要在导航栏的虚拟按键中加入音量加减调节按键。效果例如以下图所看到的:实现步骤例如以下:1.首先在SystemUI中加入音量加减的资源文件。路径例如以下:frameworks/base/packages/SystemUI/res/将图片放入相应的drawable目录,
2016-08-26 17:17:49
2268
原创 Android framework的一些经验
1.怎样自定义intent选择界面的标题在intent选择界面,系统会列出所有符合intent筛选条件的Activity,intent选择界面的标题默认统一显示" Complete action using",如果想要使用自己定义的标题,可以使用Intent.createChooser()的方法来创建intent,并传入想要的String作为标题。以wallpaper选择框为例,当在Launc
2016-08-23 18:57:48
498
原创 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
1062
原创 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
5146
JCVideoPlayerStandard源码
2017-11-24
没有NavigationBar的机型上屏幕固定时取消固定功能
2016-12-07
锁屏壁纸功能
2016-12-06
虚拟导航栏隐藏功能patch
2016-12-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人