- 博客(23)
- 收藏
- 关注
原创 Future
三、增强的Future:CompletableFuture。八、支持timeout的CompletableFuture。二、Futurelistener 任务完成了可以通知你。六、CompletableFuture中的异常处理。七、组合多个CompletableFuture。
2024-03-01 13:16:19
397
原创 三方应用在Settings里显示
二、如果需要在settings里控制三方应用的显示可以在这里过滤。四、在Android 13 上不生效,可能是如下原因。一、在AndroidManifest.xml里添加。
2024-02-19 13:10:00
546
1
原创 JobSchedulerService
1、xxxService继承JobIntentService后,在外面调用 xxxService 的enqueueWork。2、enqueueWork的调用流程。10 JSS 调用回APP里。
2024-01-28 18:20:30
562
1
原创 PermissionPolicyService
11 permissionControllerManager intent就是这里传入的了,这个SERVICE_INTERFACE = "android.permission.PermissionControllerService"就是调用远程的服务。3 这里的task.mDelegate 现在就是job了只有它,看它在哪里执行的,enqueue(task)1 这里的future.complete不执行下面的future.get会一直阻塞,导致ANR。10 intent 在这里传入 的。
2023-06-04 22:08:16
778
原创 Thermal JobSchedulerService
二、Thermal 3、mThermalStatus这里要是大于门槛值并且返回true,jobservice就会被限制: ThermalStatusRestriction.java。五、Thermal 5、这里给listener传递的status。六、Thermal 6、这里从hal调用上来通知状态改变。一、Thermal 2、问题发生是的log打印地方。三、那么mThermalStatus 哪里来的呢?###手机会觉得热么?
2023-06-04 22:07:59
244
原创 linux文件组
linux文件组 avc: denied { dac_read_search } for capability=2 scontext=u:r:xxx:s0 avc: denied { dac_override } for capability=1 scontext=u:r:xxx:s0 tcontext=u:r:xxx:s0 tclass=capability permissive=01、当报这种dac的 avc selinux权限是一般是因为不在同一个用户组导致的无法访问。2、我们可以查看需要访
2022-01-08 10:48:15
2920
原创 databinding
databinding一、使用<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools"><!--ZSG xm
2021-08-01 15:09:25
195
原创 Viewmodel
Viewmodel总结:viewmodel 在横竖屏切换的时候会被保存在ActivityThread里,在destroy的时候保存,在launcher的时候可以通过getlast…获取。
2021-07-25 13:26:22
118
原创 AS编译系统应用
AS编译系统应用 三部曲:一、生成系统签名二、导入源码,用gradle配置三、配置依赖jar包一、1、生成签名部分的系统 App 有在 Manifest 中加入了 sharedUserId 标签:android:sharedUserId="android.uid.systemui"此时如果 APK 没有当前系统的签名,是无法安装和使用的,因此需要获取得到系统的签名。在源码的 build\target\product\security 目录下,可以得到 platform.pk8 和 pla
2021-07-10 16:46:44
1080
原创 recycleview吸顶
package com.example.recycleviewitemdecor;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Rect;import android.view.View;import androidx.annotation.Non
2021-07-10 16:18:25
119
原创 游动的鲤鱼
游动的鲤鱼用Drawable画,然后用控制imageview的位置一、Drawablepackage com.example.fish;import android.animation.ValueAnimator;import android.graphics.Canvas;import android.graphics.ColorFilter;import android.graphics.Paint;import android.graphics.Path;import android
2021-07-10 16:13:19
92
原创 viewpager文字渐变指示器
viewpager文字渐变指示器//ZSG 一、// 切换fragment 四部曲,一个FragmentManager 三个事物(和GIT的提交很像begin后,add,commit)FragmentManager fragmentManager = getSupportFragmentManager();FragmentTransaction transaction = fragmentManager.beginTransaction();transaction.add(R.id.framela
2021-07-10 16:06:19
197
原创 Android studio
一、Gradle’s dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)将gradle/wrapper/gradle-wrapper.properties里的distributionUrl换成OK的项目等URL
2021-06-14 20:43:45
73
原创 Parcelable && Serializable
ParcelableParcelable是一写一读两构造写:writeToParcel读:Creator静态内部类两构造:一个用来外部new对象,一个给Creator用来构造对象package com.zsg.myparcelble;import android.os.Parcel;import android.os.Parcelable;import java.util.ArrayList;public class MyParcelble implements Parcelable {
2021-05-14 16:51:54
178
原创 Lifecycle&livedata
Lifecycle原理lifecycle通过观察者模式加反射注解模式实习对生命周期的监听。其中实现了LifecycleOwner的为被观察者,实现了LifecycleObserver的微观察者,通过在被观察者中getLifecycle().addObserver(new TestPresenter());实现绑定。一 、LifecycleObserver被观察者@OnLifecycleEvent(Lifecycle.Event.ON_CREATE)public void onCreateX(Li
2021-04-12 19:51:33
291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人