自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 Android System Slice应用加载分析,及启用Slice后,锁屏日期第一次开机正常显示,但后面锁屏不显示问题分析

最近发现Android P上锁屏界面,日期不显示,发现从P开始后,出现了Slice来允许应用以模块化,可交互的方式,插入多个使用场景。Android P的system UI 也使用到了这一特性,表现为锁屏时间,日期,勿扰图标,闹钟等。如何使用Slice以System UI中KeyguardSliceView.java来说明它的使用方法首先,我们打开System UI 的mk 文件,可以看到以...

2019-05-23 21:09:58 2749 3

原创 关于自定义广播接收不到的问题

关于自定义广播接收不到的问题8.0及以上版本,自定义广播接收不到8.0及以上版本,自定义广播接收不到在最近的项目中,需要使用广播监听PCO状态值的改变,发现发送的广播接收不到,查看log后,发现Background execution not allowed: receiving Intent { act=com.hotpepper.datasaver.action.statechange ...

2019-05-06 14:03:02 2878 3

转载 Android设置中音量条拖动异常解决方法(转)

在Android P,设置-->声音中,通过拖动SeekBar设置音量,尤其是铃声音量时存在以下三个问题:1、滑动条不跟手,存在回弹的现象。2、偶发性的滑动条所在的位置与实际值不相符。3、偶发性的,滑动铃声音量条时,闹钟音量也跟着滑动。对问题日志分析没有获得有价值的信息,通过查看代码发现,滑动条在Settings是一个叫VolumeSeekBarPreference的组件,其...

2019-05-05 15:19:54 1263

原创 Utils.safeForeach 遍历回调时出现NullPointerException: Attempt to invoke interface method 或数组越界

近期在工作时发现了一个有趣的bug,切换语言时,概率性出现crash ,查看相关log,发现是调用到 @VisibleForTesting protected void fireConfigChanged(ZenModeConfig config) { Utils.safeForeach(mCallbacks, c -> c.onConfigChanged(c...

2019-04-22 15:25:05 552

原创 Android Setting网络配置界面,删除已隐藏UI的快速搜索

我们知道,在Settting 中,可以通过快速搜索栏,直达自己想要到达的页面,这种配置,是通过以下方式实现的:1、在显示类的内部实现Indexable,如: public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider() {...

2019-04-22 14:24:56 1267

转载 从源码角度看Binder.linkToDeath

简介:Android系统当中的Binder消息传递无处不在,从运行一个新应用到发送一个常见的TIME PICK广播,再到注册一个ContentObserver去监听短信数据的变化,这些功能都需要使用到Binder通信。正如”凡人必有一死”,system_server进程虽然只要手机保持开机状态就会存在,但是普通应用无论优先级多么高,当系统内存匮乏、用户手动杀死应用进程又或者是应用出现不能解决的...

2018-08-16 17:50:30 1795

转载 从源码角度看各种context

该博客仅因手机阅读不方便而创建,感兴趣同学可以微信搜索小专栏平台,订阅从源码角度看Android,支持作者原创简介:做应用开发的对Context的熟悉度应该是仅次于Activity和Service的。Context,英文名上下文场景,代表着对当前运行场景下的各种信息的一种封装。例如,需要调用四大组件进行工作都要调用到Context,同时,通过Context也可以获取到Resource, D...

2018-08-08 19:46:50 289

转载 从源码层解析ContentService 如何实现数据变化监听

该博客仅因手机阅读不方便而创建,感兴趣同学可以微信搜索小专栏平台,订阅从源码角度看Android,支持作者原创简介ContentService 是 ContentResolver 的服务端,运行在 system_server 进程,SystemServer中添加代码:private static final String CONTENT_SERVICE_CLASS = "com....

2018-08-02 11:40:12 685

转载 从源码角度看 traces.txt 是如何生成的

该博客仅因手机阅读不方便而创建,感兴趣同学可以微信搜索小专栏平台,订阅从源码角度看Android,支持作者原创 traces.txt 位于安卓系统下/data/anr目录下,当系统中有应用出现ANR时,framework会在弹出Dialog的同时dump出当前各线程的堆栈情况,方便开发者分析出ANR的root cause。ANR是Application Not Responsing 的...

2018-08-01 23:27:17 563

原创 添加contentProvider,运行时出现:unable to get provider com.***.***.provider:java.lang.ClassNotFoundException

添加contentProvider,运行时出现:unable to get provider com.***.***.provider:java.lang.ClassNotFoundException:Didn't find class "com.android.providers.***provider" on path:DexPathList [[zip file "/system/app/"...

2018-07-30 14:03:07 10989

转载 Android framework层添加三方应用接口,及添加系统Service(转)

原亲测可用Android原生代码添加系统服务2017年01月12日 21:55:56阅读数:5492在Android系统中,为我们提供了很多的系统服务,比如AMS,PMS等,今天参考系统里其他服务的实现,在Android N原生代码中添加自己定制的服务,想想都满激动的准备工作在正式开始之前,需要知道下面两点以及满足下面条件:前提条件Android原生代码,可以...

2018-07-20 10:54:07 5517

原创 editText输入界面无窗口焦点,主动调出输入框

重写onResumepublic void onResume(){ super.onResume(); Timer timer = new Timer(); timer.schedule(new TimerTask(){ public void run(){ InputMethodManager inputMethodManager ...

2018-07-13 15:43:05 225

原创 ScrollView 嵌套LinearLayout布局,包含ListView控件出现问题

写布局文件时,发现即便LinearLayout的高度适配为match_parent , 嵌套模式如下:<LinearLayout> <ScrollView> //match_parent <LinearLayout> //height:0 ,weight:1 <ListView> //wrap_conte...

2018-07-13 15:34:13 1380

原创 Android Activity四种启动模式结论篇

明确一个task任务栈的概念,task是一组以栈的模式聚集在一起的Activity组件集合,存在于一个back stack的数据结构中,有潜在的前后驱动关联,是Android巧妙用于控制在一个应用中打开另一个应用时界面的跳转与返回,使得跨应用的跳转流畅。如果我们没有设置任何启动方式的话,安卓会默认采用第一种标准模式,即standard,他会创建多个实例,并且用类似栈的方式,先进后出,依次放入任

2017-08-29 16:22:34 294

转载 Intent的FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT

Activity的两种启动模式:FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT 1. 如果已经启动了四个Activity:A,B,C和D。在D Activity里,我们要跳到B Activity,同时希望C finish掉,可以在startActivity(intent)里的intent里添加flags标记,如下所示:

2017-08-25 14:13:08 189

原创 Android OnInterceptTouchEvent、dispatchTouchEvent、onTouchEvent时序逻辑分析结论

1、当touch事件产生时,由父控件开始向子控件判断onInterceptTouchEvent,若返回true,则拦截, 整个touch事件将不会被接下来的控件感知。2、当OnInterceptTouchEvent未拦截时,将由子控件逐步调用OnTouchEvent和dispatchTouchEvent3、内层首先判断

2017-08-17 14:57:01 636

原创 关于b=~a的问题解析

今天做题,遇到一道问题,a=8,b=~a,问a是多少?这里先抛出答案和解决方法,b=-9,  解决方法是-a=~a+1;相关原理如下:首先我们看,a是8,那么他的原码就是00001000,取反可得,11110111,这里注意,取反后得到的数是以1开头,说明这是计算机以补码形式存储在计算机中的,不是他取反后得到的原码,因此对它进行取反逆操作,即减1取反,减1后得到11110110,然

2016-09-22 09:52:35 1267

原创 S3c2451开发板的启动过程详解

开发板 启动过程1、概念基础SRAM,STATIC RANDOM ACCESS MEMORY  就是静态随即存储器SROM static read only memory 静态只读存储器ROM ,只读存储器RAM,随即存储器DRAM,英文全称Dynamic Random Access Memory,即动态随机存取存储器SDRAM,同步动态随机存储器 同步就是需要同步

2016-09-17 23:08:36 1388

原创 林锐高质量c编程阅读心得

要指明函数返回值类型,如果没有返回值,也应该注明。函数名字和返回值类型不可冲突,正常返回和错误返回,在编写程序的过程中,要严格区分开。如果函数的返回值是一个对象,有些场合用“引用传递”替换“值传递”可以提高效率。而有些场合只能用“值传递”而不能用“引用传递”,否则会出错。3、函数体的“入口处”,对参数的有效性进行检查,在函数体的“出口处”,对return 语句的正确性和效率进行检查,函数的功能要单一,单个函数尽量控制在50行以内。

2016-09-17 22:59:25 516

原创 有关ARM RTC时钟使用心得

在做裸机电子相册的项目时,涉及到使用RTC作为时钟,对此不甚了解,因此去看了ARM9的开发笔记,具体内容如下,个人理解,可能有所缺陷。首先贴一张RTC的原理图:RTC是具有独立的电源,在断电后能够保持内部的计数和晶振工作。图中,XTIrtc和XT0rtc共同构成外部晶振,他传给2^15的一个时钟分频器,得到128HZ的频率这个频率用来产生滴答计数。当时钟计数为0时,产生TI

2016-08-02 10:51:11 20707

空空如也

空空如也

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

TA关注的人

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