Android
文章平均质量分 66
虫师魁拔
这个作者很懒,什么都没留下…
展开
-
Android 按键流程
记录原创 2023-09-22 17:47:09 · 614 阅读 · 0 评论 -
Android 电池容量获取
818原创 2023-08-18 20:39:16 · 1328 阅读 · 0 评论 -
Android 蓝牙log抓取
注意事项:如果生成的log文件是空的,那么可能是未配置 log 输出。LoggingVModule 这个需要是打开状态,如果是被注释的,将文件修改下push进去替换后,重新抓下蓝牙log即可。高通目前路径是: data/misc/bluetooth/logs/btsnoop_hci.log (仅供参考)3、生成的 btsnoop_hci.log 文件在data目录下(不确定的可以直接在data目录下find下)MTK目前路径是: /data/log/bt/btsnoop_hci.log(仅供参考)原创 2023-05-17 14:37:03 · 4076 阅读 · 0 评论 -
Android 开发者指针位置调试问题
随笔记录原创 2023-02-28 17:55:03 · 1318 阅读 · 1 评论 -
高通Sensor校准
高通平台设备Sensor校准原创 2023-01-04 09:24:27 · 1679 阅读 · 3 评论 -
Android 长时间待机后系统概率性无声
长时间待机后系统概率性无声原创 2022-08-24 14:26:39 · 1567 阅读 · 5 评论 -
Android AlarmManager定时器设置
AlarmManager定时器原创 2022-08-24 13:15:39 · 1358 阅读 · 0 评论 -
Android 设置默认应用
设置默认应用原创 2022-08-23 14:48:23 · 8377 阅读 · 0 评论 -
Camera 手电筒修改
无原创 2022-07-20 19:33:16 · 733 阅读 · 1 评论 -
Android 禁止截屏录屏
禁止截屏录屏功能原创 2022-06-06 16:57:44 · 9297 阅读 · 11 评论 -
Android 第一次开机后来通知无提示音
这个问题是由于原生系统设计上存在缺陷。在 NotificationManagerService.java 中,处理通知发布时,有个函数int buzzBeepBlinkLocked(NotificationRecord record)此函数会检测通知是否能发出提示音或振动。if (hasAudibleAlert && !shouldMuteNotificationLocked(record)) { if (!sentAccessibilityEvent) {原创 2022-03-31 15:32:02 · 2620 阅读 · 0 评论 -
Android debug记录
led 灯/sys/class/leds/blue/brightness 设置亮度 0-255/sys/class/leds/blue/led_time 设置亮-灭渐变时间,最大 7 7 7 7/sys/class/leds/blue/trigger 设置闪烁频率,输入 timer 启用/sys/class/leds/blue/blink 设置灯闪烁 1 or 0battery设置电量 d...原创 2022-01-21 15:10:50 · 1824 阅读 · 0 评论 -
Android 通知灯设置
系统通知灯相关文件frameworks/base/services/core/java/com/android/server/lights/LightsManager.javaframeworks/base/services/core/java/com/android/server/lights/LogicalLight.javaframeworks/base/services/core/java/com/android/server/lights/LightsService.jav...原创 2022-01-21 14:49:40 · 3178 阅读 · 0 评论 -
Android Lock Task Ui 功能
Android 的 Lock Task UI 功能试用于部分特定场景:全屏游戏、工厂测试等,屏蔽除 BACK 按键以外按键,屏蔽状态栏通知栏等。使用时需要将应用设置为DeviceOwner ,系统通过DevicePolicyManager.setDeviceOwner 设置,或者通过adb shell dpm set-active-admin pkg/clsDevicePolicyManager 类主要相关方法:setDeviceOwner设置应用为设备管理者setLockT...原创 2021-12-31 14:16:18 · 3623 阅读 · 0 评论 -
Android R setenforce 实现
1、开机启动system/core/init/main.cppint main(int argc, char** argv) {#if __has_feature(address_sanitizer) __asan_set_error_report_callback(AsanReportCallback);#endif if (!strcmp(basename(argv[0]), "ueventd")) { return ueventd_main(argc,.原创 2021-11-03 16:52:24 · 2392 阅读 · 0 评论 -
Android R设置默认桌面
一、launcher 启动过程首先看下系统启动 Launcher 过程,主要涉及以下类和方法:AMS :systemReady -> mAtmInternal.startHomeOnAllDisplays(currentUserId, "systemReady");ActivityTaskManagerInternal :startHomeOnAllDisplays -> mRootWindowContainer.startHomeOnAllDisplays(user.原创 2021-10-21 20:35:45 · 1736 阅读 · 0 评论 -
Android PackageManager.queryintentactivities 查询不全问题
使用系统相关接口,可以根据 Intent 过滤查询对应的 ContextPackageManager.javaqueryIntentActivities 查询符合Intent Activity queryBroadcastReceivers查询符合Intent BroadcastReceiver queryIntentServices查询符合Intent Service queryIntentContentProviders查询符合Intent ContentProvider按照...原创 2021-10-21 16:21:08 · 5952 阅读 · 0 评论 -
Android 手势导航(Launcher3 部分)
手势导航功能的实现主要由 SystemUI + Launcher3 共同处理,在 Launcher3 中启动一个ServicesLauncher3/quickstep/recents_ui_overrides/src/com/android/quickstep/TouchInteractionService.java原创 2021-09-01 19:06:03 · 6145 阅读 · 1 评论 -
Android 电池使用情况分析
针对 Android 设备耗电分析原创 2021-07-10 16:36:55 · 1074 阅读 · 3 评论 -
Android 复制粘贴后的图片无法打开
问题原因是复制后的图片,通过查询 mediaprovider 数据库,获取不到,内容是没有更新的,所以无法加载打开。getContentResolver().query(Images.Media.EXTERNAL_CONTENT_URI, null, null, null)当复制文件到新的位置后,需要及时通知 Media 文件扫描更新。一、通过发送系统广播// 通过系统广播方式String path = "/storage/emulated/0/";Intent intent =原创 2021-07-10 14:35:28 · 963 阅读 · 0 评论 -
Android init.rc记录
一、init.rc 文件中相关启动顺序系统正常开机时on early-init on init on early-fs on fs on post-fs on post-fs-data //data 分区已挂载 on early-boot on boot恢复出厂设置启动顺序on property:vold.decrypt=trigger_shutdown_frameworkon property:vold.decrypt=trigger_restart_min_framewo.原创 2021-06-26 14:27:04 · 1390 阅读 · 3 评论 -
Android 系统SELinux(SEAndroid)
一、SE 概述SELinux 是由美国NSA(国安局)和 SCC 开发的 Linux的一个扩张强制访问控制安全模块。原先是在Fluke上开发的,2000年以 GNU GPL 发布。从 fedoracore 2开始, 2.6内核的版本都支持SELinux。1.1、DAC 与MAC在 SELinux 出现之前,Linux 上的使用的安全模型是DAC( Discretionary Access Control 自主访问控制)。DAC 的核心思想很简单:进程理论上所拥有的权限与执行它的用...原创 2021-06-25 20:21:05 · 3880 阅读 · 0 评论 -
win 10 fastboot 无法连接设备
今天准备给手机刷机。使用命令 adb reboot bootloader 进入 fastboot 状态后, fastboot 命令竟然找不到设备。在fastboot模式下 发现驱动不可用。fastboot devices想百度一下 fastboot 的驱动,结果全都是需要使用CSDN积分下载的附件, qiong…谷歌开发网站给了很好的答案(以下内容转载自developer.android.com)打开Android Studio 通过 Android SDK 管理器获取,具体操作步骤如下:原创 2021-06-02 15:41:18 · 14466 阅读 · 4 评论 -
Android R MediaRecoder创建流程
MediaRecorder mediaRecorder = new MediaRecorder(); // 设置音频来源 MIC == 麦克 mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); // 设置默认音频输出格式 .amr 格式 mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR...原创 2021-06-01 17:18:38 · 320 阅读 · 6 评论 -
Android R 存储机制变更
Android R 对于APP读写存储权限做了更细致限制,之前的READ_EXTERNAL_STORAGE/WRITE_EXTERNAL_STORAGE权限可以访问位于外部存储空间中应用专属目录之外的任何文件。现在新增MANAGE_EXTERNAL_STORAGE权限,只有申请这个权限后,才能访问管理文件。例如在 sdcard 目录下创建文件夹等。官方从 10 开始引导使用分区存储,使用 sdcard 下原有目录,应用需要创建新的目录去Android/下自己的应用目录下,按照系统 androi...原创 2021-05-24 16:17:38 · 365 阅读 · 0 评论 -
Android R 系统编译时 Lint 工具检查问题记录
Android R上面对于系统api的修改变更有了新的检查方式,对于代码静态检查变得更严格了,代码中类型或是参数有些必须要添加@NonNull 等注释,否则编译不过。遇到的报错贼多,举个栗子如下1、返回类型缺少非空判断Missing nullability on method `buildParamsForInviteConferenceParticipants` return [MissingNullability]2、使用了具象类,要求使用父类,这里就是 List 来替换Array...原创 2021-05-21 15:09:14 · 4120 阅读 · 7 评论 -
Android 屏幕固定功能
android 屏幕固定功能实现依靠的是 LockTaskController.java 中变量 mLockTaskModeTasks,Android R上这个文件移到 frameworks/base/services/core/java/com/android/server/wm/ 目录,之前是在 com/android/server/am/ ,除了路径其他基本一致。方法名都没变。修改这个路径同步添加了一个新的类ActivityTaskManagerService.java ,也在 wm 目录下,调用..原创 2021-05-17 15:22:42 · 2111 阅读 · 0 评论 -
Android R 设置壁纸流程和 Launcher 闪烁问题
一、设置壁纸流程系统提供了相应的 API 接口,APP 侧通过 Context.getSystemService(Context.WALLPAPER_SERVICE) 获取 WallpaperManager 对象。WallpaperManager 中可以通过setBitmap setStream setResource 三种方式进行设置。以setResource 为例,整个流程大致如下:不管是setBitmap setStream setResource 哪种方式,都是调用Wallpap...原创 2021-04-25 15:07:43 · 2018 阅读 · 0 评论 -
Android APP内存优化
在android的View里有透明度的属性,当设置透明度setAlpha的时候,android里默认会把当前view绘制到offscreen buffer中,然后再显示出来。 这个offscreenbuffer 可以理解为一个临时缓冲区,把当前View放进来并做透明度的转化,然后在显示到屏幕上。这个过程是消耗资源的,所以应该尽量避免这个过程。避免这个过程可以分很多种情况,常见的比如没有背景的TextView,就可以直接设置文字颜色,而不是设置整体alpha;ImageView设置图片透明度setImag.原创 2021-04-23 16:55:55 · 335 阅读 · 0 评论 -
Android 修改SIM卡默认VOLTE值
Android 9.0之前版本修改如下//frameworks\base\packages\SettingsProvider\src\com\android\providers\settings\DatabaseHelper.javaloadSetting(stmt, Settings.Global.ENHANCED_4G_MODE_ENABLED, ImsConfig.FeatureValueConstants.OFF);设置ENHANCED_4G_MODE_ENABLED 为 ON/OF.原创 2021-04-21 13:14:55 · 3622 阅读 · 0 评论 -
Android 查看图片的位置信息
开启位置信息拍照的图片,会在图片的头部保存相关位置信息。保存的位置信息可能是按照 118°22′22″ 度分秒的方式,需要原创 2021-04-19 15:10:46 · 1921 阅读 · 0 评论 -
Android 系统OTA升级
一、升级包制作1.1、编译一个完整刷机包1.2、制作OTA包在android目录下执行 make otapackage –j8 编译OTA包。以450平台为例,编译后会在out\target\product\ msm8953_64\ 目录下生成一个升级整包 msm8953_64-ota-*.zipout\target\product\msm8953_64\obj\PACKAGING\target_files_intermediates目录下生成一个基础包整包,是可以直接用于OT.原创 2021-04-16 11:36:16 · 9284 阅读 · 21 评论 -
Android R 设置已删除文件为铃声问题
系统设置铃声的界面,仍然是frameworks/base/packages/SoundPicker/src/com/android/soundpicker/RingtonePickerActivity.java ,在RingtonePickerActivity.BadgedRingtoneAdapter 中bindView 进行加载显示。设置默认铃声等使用的系统frameworks/base/media/java/android/media/RingtoneManager.java 中setA...原创 2021-04-09 16:54:36 · 709 阅读 · 0 评论 -
Android R Settings搜索框功能流程
Settings 搜索是调用的 SettingsIntelligence 应用的 SearchActivity,路径:android/packages/apps/SettingsIntelligence流程图如下在PreIndexDataCollector.java 中的最后 get*** 函数中创建ContentResolver 来查询获取数据。而数据的来源就是 Settings 中 SettingsSearchIndexablesProvider , SettingsSearchI...原创 2021-04-08 14:46:36 · 2661 阅读 · 0 评论 -
高通平台Android11(AndroidR)系统编译总结
AndroidR源码在编译上进行了很大的更新,不但编译速度变慢了,而且编译步骤也变得复杂了,下面就总结一些可以提高编译效率的方法。高通平台上主要使用vendor/qcom/opensource/core-utils/build/build.sh这个脚本来编译,脚本中提供了一系列选项,可以组合搭配,编译自己想要的镜像,主要常用的选项就是下面几个:dist,这个选项是用来生成OTA包的;–qssi_only,这个选项是用来编译qssi的;–target_only,这个选项是用来编译用户自己的targ转载 2021-04-02 17:13:27 · 7169 阅读 · 0 评论 -
高通平台user版本debug
一、user开启root 一些平台可以通过单刷eng版本的boot.imag来root user版本,如果无法通过单刷bootimage来root,可以通过修改代码,使默认开启root。1.1system/core/adb/ Android.mk修改如下://LOCAL_CFLAGS +=-DALLOW_ADBD_ROOT=$(if $(filter userdebug eng,$(TARGET_BUILD_VARIANT)),1,0)LOCAL_CFLAGS += -DALLOW...原创 2021-03-03 14:26:21 · 1580 阅读 · 0 评论 -
Android 铃声设置
铃声预制: 添加音频文件 frameworks/base/data/sounds 修改mk文件 frameworks/base/data/sounds/AllAudio.mk AllAudio.mk添加 build/make/target/product/full_base.mk 编译到设备 system/media/audio 修改默认铃声: build/make/target/product/full_base.mk(优先级高) ...原创 2021-03-03 11:34:26 · 494 阅读 · 2 评论 -
MTK 平台 Secure boot
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2021-03-01 16:13:21 · 1713 阅读 · 0 评论 -
Android性能分析与优化
原文链接:https://www.jianshu.com/p/3eb8ce79cf41性能指标流畅更快 卡顿,启动速度,页面显示速度,响应速度 稳定更稳 Crash, ANR 节省更省 内存,CPU,安装包大小,存储,功耗电量,网络https://blog.csdn.net/yanbober/article/details/48394201https://github.com/openthos/openthos/wiki/understand-androidhttps://www.kan.转载 2021-02-20 10:21:25 · 365 阅读 · 0 评论 -
Android 监听应用程序异常
创建 AppExcepiton 类public class AppExcepiton implements Thread.UncaughtExceptionHandler { private Context mContext; private Thread.UncaughtExceptionHandler defaultExceptionHandler; // 单例声明CustomException; private static AppExcepiton...原创 2021-01-15 09:40:25 · 718 阅读 · 5 评论