- 博客(124)
- 资源 (1)
- 收藏
- 关注
原创 高通 P-sensor 阈值调整
距离传感器调试基本没有太多工作量,主要根据整机来调整阈值,选择最合适的 P-Sensor 感应效果。高通平台sensor代码主要在modem侧,阈值设置是在AP侧,对应配置文件一般是:near_threshold 值表示靠近阈值,far_threshold 表示远离阈值。遮挡物距离 P-sensor 越近,则数值越大。一般 far_threshold 和 near_threshold 需要预留一定间隔,避免遮挡物处于临界距离时,P-sensor 频繁的在遮挡(0)和无遮挡(5)两种状态切换。
2023-06-28 16:10:46
1108
原创 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
5031
原创 SystemUI 状态栏布局
一、下拉状态栏界面为了更直观看View 图层,增加了背景色。上图中,红色背景部分是 NotificationStackScrollLayout 的背景色,半透明的是NotificationsQuickSettingsContainer 背景色。NotificationsQuickSettingsContainer 包含 状态栏+通知栏 View NotificationStackScrollLayout 通知栏的集合,每一个通知栏都是一个 ExpandableNotificati
2022-05-06 16:51:47
1075
原创 Linux 保存访问服务器用户名密码
在当前用户目录下,执行 vim .netrc 修改或者添加服务器及对应用户名密码。格式如下machine 192.168.xxx.xxx login 用户名 password 密码修改保存退出后即可。后续访问 192.168.xxx.xxx 执行需要登录的操作就可以自动进行,无需手动输入...
2022-04-02 14:45:24
1623
原创 SystemUI 状态栏增加移动数据开启图标
原生设计中,移动数据图标只有在网络活动(下载/上传)时,才显示相应的小白色三角图标,如果没有网络活动则没有任何显示。需要在不活动时也显示灰色的三角图标。系统导航栏中常见信号图标包括:SIM卡信号(移动数据图标)、WIFI。主要关注几个文件网络监听控制NetworkControllerImpl.java信号变化控制 MobileSignalController.java WifiSignalController.java图标显示view StatusBarMobileView.java.
2022-04-02 14:36:51
4384
原创 Android 第一次开机后来通知无提示音
这个问题是由于原生系统设计上存在缺陷。在 NotificationManagerService.java 中,处理通知发布时,有个函数int buzzBeepBlinkLocked(NotificationRecord record)此函数会检测通知是否能发出提示音或振动。if (hasAudibleAlert && !shouldMuteNotificationLocked(record)) { if (!sentAccessibilityEvent) {
2022-03-31 15:32:02
2702
原创 SystemUI 悬浮通知
通知概览https://developer.android.google.cn/guide/topics/ui/notifiers/notifications
2022-03-31 15:00:10
3202
原创 Android R锁屏界面屏蔽下拉状态栏
修改文件:frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java private boolean handleQsTouch(MotionEvent event) { ... ... // 增加 mUnallowedState 属性屏蔽状态栏下滑的Touch事件 if (!mQs
2022-01-28 16:57:51
3015
原创 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
1842
原创 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
3320
原创 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
3865
原创 Android 11 Recent按键流程
Recent 按键有三种,实体按键、虚拟导航键、手势导航。除了手势导航外(主要是launcher中监听滑动事件判断处理:Android 手势导航),实体按键和虚拟导航键流程基本一致,只有前面监听的方式不同:一、实体按键监听按键上报到PhoneWindowManager.java 中,按照 KeyEvent.KEYCODE_APP_SWITCH 按键事件处理执行statusbar.toggleRecentApps() ,实现在 StatusBarManagerService.toggleRecen..
2021-12-29 14:54:36
6509
原创 Android SystemUI 导航栏动态显示隐藏
本文实现导航栏动态显示隐藏功能。代码基于Android 9.0修改,Android 11 上代码结构有所不同,大的流程差不多,也可以参考本文。1、导航栏创建加载及隐藏:frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java ... try { // boolean showNav = mWindowManagerServic.
2021-12-14 20:15:43
3700
原创 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
2487
原创 文件权限说明
S_IRUSR:用户读权限S_IWUSR:用户写权限S_IRGRP:用户组读权限S_IWGRP:用户组写权限S_IROTH:其他组都权限S_IWOTH:其他组写权限
2021-11-01 14:42:48
196
原创 Android R 状态栏图标黑名单
状态栏图标控制类frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarIconController.java /** Reads the default blacklist from config value unless blacklistStr is provided. */ static ArraySet<String> getIconBlacklis
2021-10-28 14:02:13
1504
原创 Android R设置默认桌面
一、launcher 启动过程首先看下系统启动 Launcher 过程,主要涉及以下类和方法:AMS :systemReady -> mAtmInternal.startHomeOnAllDisplays(currentUserId, "systemReady");ActivityTaskManagerInternal :startHomeOnAllDisplays -> mRootWindowContainer.startHomeOnAllDisplays(user.
2021-10-21 20:35:45
1871
原创 Android PackageManager.queryintentactivities 查询不全问题
使用系统相关接口,可以根据 Intent 过滤查询对应的 ContextPackageManager.javaqueryIntentActivities 查询符合Intent Activity queryBroadcastReceivers查询符合Intent BroadcastReceiver queryIntentServices查询符合Intent Service queryIntentContentProviders查询符合Intent ContentProvider按照...
2021-10-21 16:21:08
6475
原创 VS2017 生成的exe无法在其他电脑上运行
本地写的测试demo放在其他电脑上一直提示无法启动。解决方案:在菜单栏中选择 项目 -> 属性 -> C/C++目录 -> 代码生成-> 运行库将选项改成 MT/MTD这里的MDMT 区别/MD 表示库不集成,生成的文件小;/MT 表示库集成,生成的文件较大,可移植性好。...
2021-09-09 16:45:27
2072
原创 Python import .pyc模块时提示找不到
如题,三方的.pyc模块放到项目中,在代码中无法 import解决方案如下:import impt_pyc = imp.load_compiled("test.pyc", "/tmp/test.pyc")使用 imp 模块去加载模块对象,再执行相关程序
2021-09-09 16:04:33
1105
原创 Python argparse.ArgumentParser用法
argparse 是Python一个模块。是作为程序的命令行选项、参数和子命令解析器。主要作用:1、可以让程序定义需要的参数,然后从 sys.argv 解析出对应的参数。2、生成帮助说明,在用户传入无效参数时提示异常信息。使用方式如下: # 创建一个 ArgumentParser 对象 parser = argparse.ArgumentParser(description='test argparse') # 添加程序参数:可选参数(optional argu
2021-09-09 15:55:58
717
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人