自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android Camera 预览角度和拍照保存图片角度相关

基于Android R(11)

2024-09-23 16:28:02 1232

原创 About StatusBarManagerService/StatusBarManager

StatusBarManagerService,负责管理SystemUI模块的大部分系统栏组件,比如状态栏、导航栏、最近任务等.下面系统提供的一些方法,但是隐藏的(@hide),系统应用可以使用.如果三方应用,可以通过反射使用.其它模块想要和SystemUI模块交互,也是通过它.

2024-08-31 17:30:34 277

原创 Android 11 About SleepToken / (Settings)Screen timeout

Android R 激活Settings里面的息屏休眠, 最前台运行的Activity生命周期 ->onPause->onStop。

2024-08-30 15:41:53 456

原创 Launcher start App WINDOWING_MODE_FREEFORM

需要在startActivity时候携带相关相关参数,把windowmode和launchBounds进行设置。这个windowmode需要从FullScreen —> Freeform,如果发现修改无效,检查是否打开系统的自由窗口模式。

2024-08-28 18:00:44 416

原创 Android T adout replace bootanimation

Android Q(10)开始引进动态分区,分区的大小不好确定.可以去配置文件固定分区大小(不让其动态),或者弄一个文件占位.bug:Android T bootanimation 时间过长(>50s),会触发bug,现象为System UI ANR.idea_2:创建一个新的分区,(用于存放bootanimation.zip)可以让上层读写.前提条件:userdebug版本, 默认关闭selLinux,可root。找到一个可以被命令操作的分区,然后复制动画.(希望大神能指导,给个bug解决思路)

2024-08-23 16:01:50 329

原创 Android 关于设备定屏/黑屏/冻屏/ANR那些事

再去上报至WMS进行窗口状态的切换,避免主Surface绘制完成上报至WMS后、同时SurfaceView迟迟没有绘制完成使得startingWindow过早移除从而产生黑屏的现象.主要作用为提供ViewRootImpl与SurfaceView(假如窗口存在SurfaceView的情况下)同步服务,实现在主Surface与SurfaceView均完成绘制时,现象分析:桌面的状态时黑屏的,但是SystemUI的statusBar是显示和功能都是正常的,那一般就是当前app的问题了.

2024-08-23 14:59:10 1360

原创 Android T don‘t abort background activity starts

【代码】Android T don‘t abort background activity starts。

2024-08-20 18:57:58 186

原创 Android about event log

EventLogTags.logtags,它是个日志工具,很多模块有该文件.event log 在framework层常常使用,通过类似EventLog.writeEvent()写log,这种log被保存在/system/etc/event-log-tags.

2024-08-20 15:35:41 436

原创 Android 13 about launcher3 (1)

桌面设置页面:桌面空白处长按,进入home settings,有个allow home screen rotation就是旋转开关,手机模式默认是关闭的,平板模式这个偏好隐藏了.case 1: 单独使用role,确实不需要删除旧Launcher栈,唯一需要注意点的是要在Launcher启动之前,把。Android 12之后,Launcher3有两个模式,一个是平板,另一个是手机.所以需要在framework里某个必经之路上做文章…手机模式:桌面默认是不可以旋转的.

2024-08-17 16:33:44 499

原创 Android T about screen rotation(二)

需求:客户因为模具问题,屏幕方向需要动态的变动.(方向: 0 , 90 , 180 ,270)拆分:设备开机过程中图像显示可分为三个阶段,boot logo(1)->kernel logo(2),这一段的处理需要驱动层,所以暂时忽略.开机动画 Bootanimation(3)阶段 和 Home Launcher应用显示(4)阶段是需要修改的.因为是动态的,有涉及到cpp部分,一般用系统属性保存:persist.customer.set.orientation=0。

2024-08-16 16:21:10 559

原创 Android T 关于屏幕旋转 (一)

(T to 13)利用上面的函数,成功旋转了屏幕,可能遇到的第一个问题:按home键回到Launcher3,旋转的屏幕会被还原.请看这一篇文章.第二个问题:关机重启后,旋转的屏幕被还原.分析思路:在设备开机的过程中不断用读取它的值,发现设备显示FallBackHomey引导界面时,它的值被改为0.那么明显就是系统中有某个部分改了user_rotation的值,思考是谁改动了它?(经验之谈)一般设备开机就是启动的部分有:Launcher3,SystemUI,frameworks各种服务,其它排除法:1

2024-08-16 10:11:34 424

原创 Android T(13) The app is granted permissions by default

对比Android11,文件夹下,多了个有一部分关于权限的处理,移到了这个文件中.比如:restorePermissionState(…)

2024-08-15 19:46:10 421

原创 Anrdoir 13 关于设置静态IP后,突然断电,在上电开机卡动画

方案2:保存用户的静态参数,直接删除,rm -rf /data/misc/apexdata/com.android.tethering/misc/ethernet/ipconfig.txt,然后利用开机广播在设置一次静态IP。ipconfig.txt异常是系统对文件缓存引起.因为设置静态IP时,会创建ipconfig.txt,当(30s之内)突然掉电的时候,文件内容还没有完全刷到文件中!bug描述:设置静态IP成功后,机器突然断电,然后在上电开机,发现机器一直卡在开机动画,无法成功进入桌面。

2024-08-14 18:55:58 802

原创 Android 13 移植EthernetSettings/Ethernet更新

为什么这么确认我导入,因为还引用了SystemProperties.getInt().然后控制变量,定位到问题是SystemProperties.set()无法再这个目录使用.应该先去想还有什么其它的方式可能调用SystemProperties.set(),先达成目的,然后再回来想想那个编译报错.)既然(正常)固定的调用方式编译报错,然后一时半会又搞不定编译报错(难点:报错信息不够明确,无法定位).然后去询问大佬,大佬提供一个思路,让我用反射去调用它,确实编译通过了,数据也能保存.,但是我明明导入了!

2024-08-09 17:57:29 782

原创 Android13 关于SystemUI更新/Nav Bar add volume button&&other button

对比Android 11, Android 13的SystemUI的源码文件目录,部分文件位置移动了或者删除了,其它的做出了很多改变,变的更加清晰、模块化…代码里面注解用的频繁了. Dragger2是一个依赖注入框架,在编译期间自动生成代码,负责依赖对象的创建.

2024-08-09 16:44:18 526

原创 Android13 关于SystemUI更新/Nav Bar add volume button&&other button

Android13系统导航栏添加音量加减键按钮功能](https://blog.csdn.net/wzh048503/article/details/140020452)[Android导航栏音量调节](https://blog.csdn.net/qq_27636049/article/details/103632949)[NavigationBar详解](https://juejin.cn/post/7223216421199315000)//要变成减音量,keyCode="25",其余不变;

2024-08-09 16:43:06 871

原创 Android11 关于三方应用获取su权限

SELinux,全称Security-Enhanced Linux,是一种基于Linux内核的安全机制。它通过强制访问控制(MAC)来增强Linux系统的安全性,如果不禁用SELinux,完成下面的修改可能会导致设备进入Recovery界面!adb shell getenforce 为Permissive(宽容模式),查看报错日志,发现是客户apk想使用su命令提权,但是没有权限!对于保护系统资源和防止未经授权访问非常有帮助!系统这边做修改,让su权限下放到三方应用.客户的apk运行报错。

2024-08-08 11:50:10 846

原创 Android R Settings关于屏保/PowerManagerService欺骗系统不让其进入休眠状态

思路1:不让系统进入后面两个状态,保持在SCREEN_DREAM,然后发送广播,操作屏幕背光—>我把它叫做假休眠(fake_sleep_mode)android 系统休眠过程四个状态,分别是SCREEN_BRIGHT,SCREEN_DIM,SCREEN_DREAM,SLEEP。(或者保持在SCREEN_DREAM后,拉起一个服务,在界面上添加一个的window,window上面布局随意,点击之后移除)Android 系统全局监听touch事件,在背光关闭的情况下.

2024-08-05 11:20:09 337

原创 Android 11 关于按键拦截/按键事件处理分享

系统在处理按键事件,不管是物理按键还是SystemUI的nav_bar上的虚拟按键(使用了KeyEvent类中的,比如:KeyEvent.KEYCODE_VOLUME_UP).主要注意的有两个函数:interceptKeyBeforeDispatching 分发之前拦截事件interceptKeyBeforeQueueing 加入队列之前拦截事件。

2024-08-02 17:42:47 548

原创 Android -- 实现应用的禁止

这个方法的作用是启用或者禁用四大组件,比如我们想禁用一个服务,就可以使用下面的方法,传入的参数就是服务的名称。PackageManager提供了一个方法,setComponentEnabledSetting(),App使用上述方法需要权限和android.uid.system,让APP运行在 system 进程。

2024-07-31 10:35:26 539

原创 Android 11.0 关于app进程保活

需求:客户某些重要的app,在后台或者在内存紧张的时候,不允许被杀死。

2024-07-31 09:53:33 514

原创 Android 11 关于app的权限重置

Android 11 Google针对权限系统又加了更多的限制,比如1.权限的单次授权;2.某个app长时间不使用,权限会被自动更新/重置!最先是要找到你需要操作的权限是啥,可以在AppOpsManager的数组里面查询!Settings里面关于app权限重置的switch 流程。方案二:系统服务拦截。

2024-07-30 15:34:41 290

原创 Android 系统适配无源码app

2.Launcher3层面修改,在Launcher3层面修改界面上面显示的icon被修改了,setting和系统安装应用界面等还是原来的图。可以看到View的添加是要在执行完onResume()之后的,所以我们调整某个应用的字体大小和UI显示最好是在它之前。如果是从其他activity回到当前activity而执行的onResume方法,那么就能够获取到View的宽高。如果是activity 启动后第一次进入onResume 生命周期,那么获取到的View的宽高是错误的;

2024-07-26 17:21:49 438

原创 Android 13 大屏显示时关于SystemUI和Launcher3问题

当系统运行在大屏上时,原来显示SystemUI导航栏的位置会变成Launcher3的任务栏,然后导航栏的3个按键显示靠右下角显示。2.找到Launcher3显示任务栏的部分,也做类似的修改不让任务栏显示。1.先看SystemUI的导航栏为什么会消失,移动。

2024-07-24 10:59:00 493

原创 Android13 控制设置界面 双栏显示或单栏显示

Android 13 设置界面会判断当前屏幕的大小,如果是大屏,则为双栏显示!

2024-07-24 10:55:41 843

原创 Anroid 11 关于NotificationManager && NotificationManagerService

【代码】Anroid 11 关于NotificationManager && NotificationManagerService。

2024-07-20 14:41:15 206

原创 Android 11 NavigationBar && Status Bar 如果改变背景颜色

SystemUI的导航栏和状态栏的背景是大部分是根据当前应用的主题显示的,状态有 黑,白,透明,半透明等.需求:要求背景不跟随栈顶应用主题变化,始终固定成一个颜色!

2024-07-18 10:36:59 425

原创 Android 11 UsbDebug 关于adb RSA 认证

注意:Google 现在强制要求在USER 版本中开启adb RSA 指纹认证,如果关闭,将无法通过Google CTS 测试。user版本时默认打开adb RSA指纹密钥的 ,就是那个连接adb的时候弹出一个dialog让你确认的界面!eng和userdebug 版本中关闭了adb RSA 指纹密钥认证.

2024-07-16 19:04:19 422

原创 Android SystemUI去掉拖动亮度条QSPanel界面隐藏功能

SystemUI

2022-12-06 10:58:28 667 1

转载 贴吧笔记本电脑选购参考攻略

不忘初衷,及时悔过,便永远不晚。也许,更多的时候,人生走出的是一条曲线,终点又回到起点,生命才是最圆满的吧。

2022-03-05 09:48:32 637

原创 个人头像-----资源

动漫头像https://waifulabs.com/notion头像https://notion-avatar.vercel.app/zh

2021-09-29 13:47:27 374

原创 Android.mk 小结 和 手机分区 && 开机动画

# Module name should match apk name to be installedLOCAL_MODULE := MusicLOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(LOCAL_MODULE).apkLOCAL_MODULE_CLASS := APPSLOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)LOCAL_CERTIFICATE := PRESIGNED

2021-09-24 16:26:38 440

原创 android系统&&adb命令

动态换肤实现思路-网易云adb命令adb push命令格式: adb push file devicepath说明: 把文件file推送到devicepath目录下 , file代表 要推送的文件及文件路径 devicepath代表系统的具体目录例如: adb push d:\luchang_65\ui1\Launcher.apk system/app/Launcher/ // 把文件Launcher.apk 推送到车机 system/app/Launcher/

2021-08-20 17:42:26 428

原创 shell命令基础+adb.md

语言类:《深度探索C++对象模型》,对应的英文版是《Inside C+++ Object Model》程序编译、链接、加载类:《链接器和加载器》,对应的英文版是《Linker and Loader》《程序员的自我修养:链接、装载和库》操作系统类:《Linux内核设计与实现》,对应的英文版是《Linux Kernel Development》《深入理解Linux内核》,对应的英文版是《Understanding the Linux Kernel》《深入Linux内核架构》,对应的英文版是《Pr

2021-08-20 17:41:06 4114

原创 java - io流拷贝文件

package com.example.tmedia;import androidx.appcompat.app.AppCompatActivity;import android.Manifest;import android.app.Activity;import android.content.pm.PackageManager;import android.os.Build;import android.os.Bundle;import android.os.Environment;

2021-08-17 19:59:37 196

原创 数组转换成List---Java

/*数组转list-1*/ private void testArrayCastToListError(){ String [] strArray = new String[2]; List list = Arrays.asList(strArray); //转换后,插入数据 list.add(1); Log.d("tww",list+""); /* Caused by: java.lang.Unsu.

2021-08-11 11:11:56 110

原创 Android自定义控件-流式布局简单版

主要代码:FlowLayoutView.javapackage com.example.vitomvp.ui;import android.content.Context;import android.util.AttributeSet;import android.util.Log;import android.view.View;import android.view.ViewGroup;import java.util.ArrayList;import java.util.Li

2021-08-10 19:57:48 210

原创 关于TextView文字基线问题

package com.example.vitomvp.ui;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.RectF;import android.util.AttributeSet;import android.util.Log;import

2021-08-10 17:51:30 363

原创 2021-08-09-shell脚本基础命令

语言类:《深度探索C++对象模型》,对应的英文版是《Inside C+++ Object Model》程序编译、链接、加载类:《链接器和加载器》,对应的英文版是《Linker and Loader》《程序员的自我修养:链接、装载和库》操作系统类:《Linux内核设计与实现》,对应的英文版是《Linux Kernel Development》《深入理解Linux内核》,对应的英文版是《Understanding the Linux Kernel》《深入Linux内核架构》,对应的英文版是《Pr

2021-08-09 09:49:01 305

原创 java中getBytes()方法的使用

//字符串转byte 发送 Big Endian(4E25) Little Endian(254E)/*Unicode规范中定义, 每一个文件的最前面分别加入一个表示编码顺序的字符, 这个字符的名字叫做"零宽度非换行空格"(ZERO WIDTH NO-BREAK SPACE), 用FEFF表示. 这正好是两个字节, 而且FF比FE大1.UNICODE 是一种字符集,在 Java 中直接使用 Unicode 转码时会按照 UTF-16LE 的方式拆分,由于 UTF-16 分为 UTF-16LE.

2021-08-04 19:52:01 1666

reactNative资料.rar

reactNative资料.rar

2021-05-15

TransitionDemo.rar

https://blog.csdn.net/baidu_32472003/article/details/102629199?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-1&spm=1001.2101.3001.4242

2021-04-28

UpdateInfoShow.java

更新apk 参考流程

2021-04-21

RecyleViewDemo.rar

RecycleView点击事件 下拉刷新 模拟

2021-04-05

zoom实现网页缩放.zip

图片缩放 查看图片内部细节 点入图片 细节 进入另一张图片

2019-06-29

空空如也

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

TA关注的人

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