AOSP
IceSea7
一个小小的码农~~
展开
-
指纹模块流程分析(五)之指纹的解锁流程
五、指纹的解锁流程指纹解锁的核心类FingerprintUnlockController,实现了KeyguardUpdateMonitorCallbackpublic class FingerprintUnlockController extends KeyguardUpdateMonitorCallback { @Override public void onFing...原创 2020-02-25 15:30:54 · 3637 阅读 · 0 评论 -
指纹模块流程分析(四)之指纹录制流程
四、指纹录制流程指纹录制的activity为FingerprintEnrollEnrolling实现了FingerprintEnrollSidecar.Listener 接口。//指纹录制时提示(比如太快,移动手指之类) @Override public void onEnrollmentHelp(CharSequence helpString) {...原创 2020-02-25 15:29:50 · 1425 阅读 · 0 评论 -
指纹模块流程分析(三)之fingerprintd
三、fingerprintdfingerprintd在system/core/fingerprintd目录下fingerprintd可以分为四个部分:1. fingerprintd.cpp “负责将fingerprintd加入到ServiceManager中,以便FingerprintService能够获取”2. IFingerprintDaemon.h/IFingerp...原创 2020-02-25 15:28:04 · 1518 阅读 · 0 评论 -
指纹模块流程分析(二)之Fingerprint framework初始化流程
二、Fingerprint framework初始化流程在系统开机的时候,会启动各种Service,包括FingerprintService。从下图的开机log(sys_log.boot)中可以看出:05-29 10:37:57.870869 1127 1127 I SystemServiceManager: Starting com.android.server.dreams.Dre...原创 2020-02-25 15:26:49 · 735 阅读 · 0 评论 -
指纹模块流程分析(一)之Fingerprint模块架构
一、Fingerprint模块架构Fingerprint模块架构图如下,这里分为application,framework,fingerprintd和FingerprintHal这几个部分,不涉及指纹的IC库和驱动这部分,这部分逻辑由指纹厂商来实现。Setting中指纹代码SystemUI中指纹解锁代码...原创 2020-02-25 15:24:55 · 2868 阅读 · 0 评论 -
CarrierConfig 配置/书签客制化 出现权限错误
在客制化Bookmarks 书签时出现如下错误:01-01 12:39:44.147 5450 5464 E DatabaseUtils: Writing exception to parcel01-01 12:39:44.147 5450 5464 E DatabaseUtils: java.lang.SecurityException: Neither user 1006...原创 2020-02-11 16:50:26 · 1172 阅读 · 0 评论 -
Android Fingerprint中的IPC(Binder)
Android中的指纹模块虽然相对来说不是那么复杂,但是它也是麻雀虽小五脏俱全。本文将通过Fingerprint模块来分析Android中的Binder机制。在指纹的整个框架中,有3个地方用到了IPC机制(包括获取指纹服务的一个)。FingerprintManager-------FingerprintServiceFingerprintService--------JNI------HA...转载 2019-12-28 14:32:55 · 240 阅读 · 0 评论 -
Android7.0指纹服务FingerprintService介绍
指纹服务是Android系统中一个较为简单的服务(相比于AMS,WMS等),也比较独立,功能上包括几点指纹的录入与删除 指纹认证 指纹的安全策略(错误次数判定) 和其他的system service 一样,应用程序通过FingerprintManager实现与FingerprintService的通信,除了上面所说的功能之外,FingerprintManager提供了一些别的的接口,重要...转载 2019-12-28 14:31:55 · 1514 阅读 · 0 评论 -
使用统一接口兼容库 BiometricPromptCompat 简化你的 Android 生物识别解锁支持
不知不觉,指纹识别解锁已经完成普及很久,当年 Google 在 Android 6.0 版本(SDK 23)方才加入统一的接口,如今已有很多应用程序适配支持了。FingerprintManager确实提供了非常便捷的接口供开发者,但没有统一的界面,需要应用程序各自实现自己的 UI,结果出来的效果五花八门、体验一般。现在 Android P 为开发者们换来了更加简单的BiometricPr...转载 2019-12-28 14:30:35 · 1305 阅读 · 0 评论 -
Android指纹识别,看这一篇就够了
在Android6.0(Api23)的时候,Android系统加入了指纹识别的api接口,即FingerprintManager,定义了最基础的指纹识别接口。不过,在AndroidP(Api28)的时候,官方不再推荐使用,做了@Deprecated处理。后来,在support v4库中添加了FingerprintManagerCompat类,我看了他的源码,其实就是对Fingerp...转载 2019-12-28 14:29:42 · 1549 阅读 · 0 评论 -
[FAQ15097] OTA升级后Home键失灵
[DESCRIPTION]OTA升级系统后Home键按下有反馈,但是没有相应的功能。[SOLUTION]请检查Provision.apk应用是否正常升级,并确认settings数据库中DEVICE_PROVISIONED是否已经写为1.Provision的作用很简单,就是一个系统初始化引导程序,原生的Android里面Provision只做了一件事,就是...转载 2019-11-08 09:51:31 · 438 阅读 · 0 评论 -
Android Q Selinux 权限添加
本文转载自huangrongrui:http://192.168.30.26:200/index.php?doc-view-43682一、权限问题如下遇到的权限问题,log中的TAG是 avc,如下是log:avc: denied { append } for pid=8317 comm=”RenderThread” name=”glsl_shader_log.txt” dev=”mm...转载 2019-11-06 16:47:36 · 2618 阅读 · 0 评论 -
android 国际化之Locale
一、LocaleLocale对象表示了一个特定的地理,政治或文化区域。需要使用到Locale执行其任务的操作称为区域设置敏感,并使用Locale为用户定制信息。例如显示一个数字就是一个区域设置敏感的操作–该数字应根据用户所在国家,地区或文化的习俗和惯例进行格式化。Android Locale类实现了IETF BCP 47标准 (它由RFC 4647“匹配语言标签”和RFC 5646“识别语...转载 2019-10-22 09:39:07 · 8248 阅读 · 0 评论 -
判断手机是否处于静音、震动、正常模式
查看frameworks/base/media/java/android/media/AudioManager.java /** * Ringer mode that will be silent and will not vibrate. (This overrides the * vibrate setting.) * * @see #set...原创 2019-09-20 15:01:20 · 4199 阅读 · 1 评论 -
高通QFIL烧录错误解决方案之一
2019-09-20 11:31:55.494 11:31:55: ERROR: function: sahara_rx_data:276 Unable to read packet header. Only read 0 bytes.2019-09-20 11:31:55.496 2019-09-20 11:31:55.496 11:31:55: ERROR: functi...原创 2019-09-20 11:53:33 · 26684 阅读 · 9 评论 -
Android 修改系统默认时间12小时制/24小时制
android系统第一次开机决定系统的时间格式的代码在frameworks层的SettingsProvider应用中。1.在defaults.xml中添加相应代码。在frameworks\base\packages\SettingsProvider\res\values\defaults.xml文件中添加 一行<string name="def_time_12_24" tran...原创 2019-07-17 14:31:15 · 2839 阅读 · 0 评论 -
Android设备真实DPI与系统标示DPI——ldpi/mdpi/hdpi/xhdpi/xxhdpi/xxxhdpi
转载自:https://www.cnblogs.com/kangjianwei101/p/6533808.html1.设备真实DPI与系统标示DPI2.drawable允许的标示DPI值 drawable文件的合法名称如下:3.如何验证 Demo如下,建立不同dpi的drawable文件夹,文件夹下图片名称相同,但其图像各不相同,...转载 2019-04-01 17:59:50 · 386 阅读 · 0 评论 -
Android-ANR总结原理
一:什么是ANRANR:Application Not Responding,即应用程序无响应一般在ANR的时候会弹出一个应用无响应对话框,同时会候产生一个日志文件trace.txt,位于/data/anr/文件夹下面,trace文件是Android Davik虚拟机在收到异常终止信号时产生的,最常见的一个触发条件就是Android应用中产生了FC(force close)。由于该文件的产...原创 2019-05-10 15:45:19 · 1257 阅读 · 0 评论 -
ANR问题简析
ANR问题,相信是每位开发日常都会遇到的问题,对于这类问题的分析,按照官方的推荐,或网络博客的总结思路能解决一定的问题,但是多数时候大家的困惑就是应用本逻辑很简单,耗时很短或应用堆栈完全正常,或者或处于空闲状态,可系统为什么就认为接收者发生ANR了呢?下面将之前公司的一次内部分享开放出来,用几个实例从不同角度分析导致ANR产生的Root Case。也希望对大家以后分析该类问题有一定参考,不对的地方...转载 2019-05-10 15:49:50 · 1062 阅读 · 0 评论 -
Android 8.0+查看wifi密码
从Android8.0(Oreo)开始wifi密码的存储位置变化了。本文不说明如何连接wifi,当你连接wifi后如何看出wifi密码呢?原生ROM,无法像国内的ROM尝试,提供二维码分享之类的功能。在Android 8.0(Oreo)之前与现在的版本中,wifi密码的信息均存放在/data/misc/wifi文件夹里。#Android8.0(Oreo)之前版本/data/m...转载 2019-05-15 17:46:00 · 6069 阅读 · 0 评论 -
[MTK项目] 如何客制化谷歌开机向导
最近项目中有个任务,要在gms中的谷歌开机向导(SUW,SetupWizard)中加入客制化页面。之前没有做过相关的东西,第一反应这是不行的,因为gms包的谷歌软件我们都没有源码,不能做任何修改。接到任务后先做预研,上网查了资料发现谷歌开机向导虽然没有源码,但是却真的可以客制化,可以删减某些页面,也可以插入自己开发的页面。谷歌为定制gms开机向导也提供了一套定制化的方法。这里先为大家介绍下定制谷歌...原创 2019-05-11 15:11:29 · 4028 阅读 · 2 评论 -
判断单卡/多卡项目,手机所支持的卡槽数量
本机临时验证功能, 设置手机为单双卡:adb shell setprop persist.radio.multisim.config ssss(单卡) dsds(双卡)修改完不能重启!!!方法一:此图为旧版本,现在为: persist.radio.multisim.config1. SIMCODE 的值为 Dual ...原创 2019-05-16 09:31:45 · 2024 阅读 · 0 评论 -
【需求】配置默认壁纸
配置默认壁纸:1)代码分析frameworks/base/core/java/android/app/WallpaperManager.javaprivateBitmapgetDefaultWallpaper(Contextcontext,@SetWallpaperFlagsintwhich){InputStreamis=...原创 2019-05-11 17:14:12 · 647 阅读 · 0 评论 -
com.android.internal.R 引用的资源路径
在Android 源码中, 经常可以看到引用com.android.internal.R相关的资源,比如设置默认壁纸的Wallpaper.java中:该资源文件是由frameworks/base/core/res/res下编译生成最终映射到: out/target/common/R/com/android/internal/R.java...原创 2019-05-13 11:36:46 · 1773 阅读 · 0 评论 -
Android7.0&8.0 默认壁纸修改
1.拷贝自定义壁纸默认壁纸是default_wallpaper,在/frameworks/base/core/res下面。找到所以的default_wallpaper所在的地方,然后把我们自己的壁纸(custom_wallpaper.png)也拷贝到相应的地方。2.修改默认壁纸默认壁纸加载的地方在frameworks/base/core/java/android/app/Wallpap...转载 2019-05-13 13:41:02 · 1980 阅读 · 0 评论 -
Android资源文件命名规范(摘官方文档)
提供资源您应该始终外部化应用资源,例如图像和代码中的字符串,这样有利于您单独维护这些资源。 此外,您还应该为特定设备配置提供备用资源,方法是将它们分组到专门命名的资源目录中。 在运行时,Android 会根据当前配置使用适当的资源。例如,您可能需要根据屏幕尺寸提供不同的 UI 布局,或者根据语言设置提供不同的字符串。外部化应用资源后,即可使用在项目R类中生成的资源 ID 访问这些资源。...翻译 2019-06-05 15:26:55 · 1467 阅读 · 0 评论 -
Android 架构图(The-Android-software-stack)----20190613
原创 2019-06-13 10:46:15 · 518 阅读 · 0 评论 -
Android自动使用24小时制和使用24小时制(Automatic 24-hour format&Use 24-hour format)代码流程浅析
packages/apps/Settings/src/com/android/settings/DateTimeSettings.java @Override protected List<AbstractPreferenceController> createPreferenceControllers(Context context) { fina...原创 2019-07-17 14:40:34 · 2127 阅读 · 0 评论 -
指纹提示信息与代码对应关系
底层上报的消息: FINGERPRINT_ACQUIRED_GOOD:上层对应提示信息: null底层上报的消息: FINGERPRINT_ACQUIRED_PARTIAL:上层对应提示信息: 仅检测到部分指纹,请重试。底层上报的消息: FINGERPRINT_ACQUIRED_INSUFFICIENT:上层对应提示信息: 无法处理指纹,请重试。底层上报的消息: FINGERPR...原创 2019-04-01 16:51:08 · 1107 阅读 · 0 评论