Android12 系统定制开发
系统定制开发
宇宙老魔女
这个作者很懒,什么都没留下…
展开
-
android 屏蔽系统通知
2.NotificationListener类是负责处理监听通知更新并将其传递给向用户显示的NotificationPresenter,也就是SystemUI中监听到系统通知的起点.原创 2024-03-29 10:55:38 · 292 阅读 · 0 评论 -
Android 通知--判断通知是否有跳转
在 Android 中,可以通过 PendingIntent 来实现有跳转的通知和没有跳转的通知的区别。具体来说,有跳转的通知会设置一个 PendingIntent,当用户点击通知时会触发该 PendingIntent,打开指定的界面或执行特定的操作;在上面的代码中,首先创建了一个有跳转的通知,并设置了一个 PendingIntent,用于处理用户点击通知时的操作。通过这种方式,用户点击有跳转的通知时会打开指定的界面(比如 MainActivity),而点击没有跳转的通知时则不会有任何操作。原创 2024-02-28 10:16:28 · 685 阅读 · 0 评论 -
Android 判断通知是进度条通知
属性来判断通知是否是进度条通知。这个属性可以用来表示通知的进度,如果通知是一个进度条通知,那么它的进度值会大于等于0。在 Android 中,可以使用通知的。应用监听安卓系统中的通知,需要区分出带进度条的通知.表示进度是否不确定(即进度条是否为循环模式)。构建一个通知时,可以通过调用。方法来添加一个进度条。参数表示最大进度值,原创 2024-02-06 11:32:57 · 1003 阅读 · 1 评论 -
Android 12.0 应用中监听系统收到的通知
上面两个接口,第一个是监听系统新通知,第二个是监听系统通知清除,如果看过Android Systemui 中有关通知的内容,就会发现,System UI 对通知的显示和通知的清除,同样也是继承该API.。当通知被清除时,会调用 onNotificationRemoved(StatusBarNotification sbn) 方法,其中的参数 sbn 代表被删除的通知.可以在该方法里做一些删除后的工作.由于源码中有@hide,表明该方法不对第三方应用开放,所以如果是系统内置的应用,则可以使用.原创 2024-01-31 10:32:36 · 640 阅读 · 0 评论 -
Android 12.0 监听手机飞行模式
2. 接着通过监听飞行模式提供的广播来实时监听飞行模式状态 : Intent.ACTION_AIRPLANE_MODE_CHANGED。3. 在飞行模式状态变化时,会触发广播,接着在广播里作处理即可.1. 判断当前手机飞行模式是否开启。原创 2024-01-30 16:11:50 · 558 阅读 · 0 评论 -
Android通知---创建通知(附加代码)
使用 NotificationCompat.Builder 对象设置通知的内容和渠道。以下示例展示了如何创建包含以下内容的通知:小图标,通过 setSmallIcon() 设置。这是所必需的唯一用户可见内容。标题,通过 setContentTitle() 设置。正文文本,通过 setContentText() 设置。通知优先级,通过 setPriority() 设置。优先级决定了通知在 Android 7.1 及更低版本上的干扰程度。原创 2024-01-10 18:19:11 · 1159 阅读 · 0 评论 -
Android 通知简介
图1: 基本通知详情。原创 2024-01-10 14:33:14 · 1449 阅读 · 0 评论 -
Android 12.0 修改Android系统的通知自动成组的数量
场景: Android 系统对显示在通知列表中的同一个应用的通知进行分组管理,即相同的packageName中,当通知数量达到系统默认指定的数量时,会自动成一组.如果想修改系统默认的自动分组数,则修改属性为 config_autoGroupAtCount 后的值即可.原创 2023-11-30 17:08:50 · 611 阅读 · 0 评论 -
Android 12.0 中 清除通知 , 系统源码分析(一)
(3) 源码路径: frameworks/base/services/core/java/com/android/server/notification/NotificationManagerService.java。(7) 正常情况下,都能找到需要删除的通知,并顺利清除,通知清除后,还需要做一些通知资源的后续工作,继续分析 cancelNotificationLocked()(6)查看通知是如何删除的, 继续分析 removeFromNotificationListsLocked()原创 2023-11-14 17:40:25 · 745 阅读 · 0 评论 -
Caused by:java.lang.IllegalArgumentException: provider “network“ does not exist
(3)上面源码上可以看到,当LocationProvider 为 null 时,系统会抛出异常,这就是日志中看到的异常,因此,可以在 locationProvider 不为为 null 的时,才执行后面的步骤,在LocationManager.java中,提供了一个 isProviderEnabled()方法去判断provider是否可用.源码路径:frameworks/base/location/java/android/location/LocationManager.java。原创 2023-09-21 16:27:49 · 221 阅读 · 0 评论 -
android XmlPullParser解析xml(1)
(1)首先在创建/src/main/ 目录下创建Directory,名为assets , 接着在assets目录中,创建Values XML File 文件, 存放xml文件的内容,如:persons.xml。(2) 在Activity中创建Person对象,存放xml解析出来的数据.(3)开始解析xml里的内容.原创 2023-07-17 17:38:35 · 187 阅读 · 0 评论 -
Java String 值转化为boolean值
【代码】Java String 值转化为boolean值。原创 2023-04-28 15:42:32 · 709 阅读 · 0 评论 -
Android12.0 源码中添加系统String字符串
为了资源使用的灵活性,需要对提示框口中的提示语定义到资源文件中,之后就可以在ActivityTaskManagerService.java直接引用.在源码中,需要引用自定义的字符串,如:在frameworks目录中,为了引用自定义字符串资源,需要自定义字符串提前添加到系统中,否则无法引用,提醒:一定在该配置文件中定义英文模式字符串,否则编译的时候会提示收不到资源。(2) 之后,需要在strings.xml中,定义具体属性值.(1)系统中的资源,需要在symbols.xml中定义.原创 2023-04-25 11:46:50 · 452 阅读 · 0 评论 -
Android 12.0,ActivityTaskManagerService中获取应用的应用名称
(3)所以,可以在该函数内,获取待启动应用的包名,然后调用getAppLabel()就可以获得待启动的应用的应用名称.需求: 点击手机桌面的应用,然后获取应用的应用名.(1)手机上点击应用的快捷图标,启动应用.(4)下面是通过包名获取应用名称的方法.(2)应用启动时,都会经过一下代码。原创 2023-04-24 19:24:47 · 393 阅读 · 0 评论