Android 13 Settings的壁纸里面添加选项

Android 13 更新内容(开发需知) 最新安卓13的功能变动,API变化简介 迁移适配安卓13需知 阅读详情

    最近有一个需求,客户需要在设置的壁纸里面添加一个主题的选项,于是我兴高采烈的用AS打开Settings的工程,疯狂的查找壁纸所在的位置。

   

    于是找到了,这个RestrictedHomepagePreference,对应的就是TopLevelWallpaperPreferenceController 这个 controller。根据我以往的经验,加个选项无非就是找到对应layout,然后加个Preference,再处理一下逻辑就ok了。但是这里一看就是最外层的,需要进去里面添加。

    于是我兴致勃勃的打开了 TopLevelWallpaperPreferenceController

   

     怎么肥四?里面没有布局了啊,怎么直接就启动activity了啊。我反手就是层层debug,然后发现,启动的是 com.android.settings/.Settings$WallpaperSettingsActivity 这个activity。我翻遍了整个源码,根本找不到这个activity的内容,我人麻了。之所以会启动这个activity,是因为在原生的配置里面有这样的设置

    所以点击壁纸之后,启动的activity就是com.android.settings/.Settings$WallpaperSettingsActivity

    我看着设置里面的壁纸选项,想着这是怎么搞进去的。接着我网上冲浪,顿时灵光一闪,恍然大悟。这个activity应该就是根据某些action,把那些选项添加进去的,而不是在布局里面写死的。

    于是我开始按照需求,写了一个activity,然后给它搞点属性。

    label就是它在选项里面的名字,icon就是它在选项前面的图标。最重要的当然是android.intent.action.SET_WALLPAPER 这个action,不然壁纸的那个activity是不会把我写的这个activity添加到它的选项里面去的。还有最后一步,当然要加权限啦。

<uses-permission android:name="android.permission.SET_WALLPAPER" />

到了这里,一切就大功告成了。

对了,最后告诉你一个秘密,在同一个应用里面,如果有两个activity都有android.intent.action.SET_WALLPAPER action,但是选项里面只会显示一个activity,不要问我为什么知道的。

Android 13.0 rom定制专栏系列解读 在从事android系统rom定制化的这几年里,经历了坎坎坷坷,开发过好几种类型的产品,也随着google对android系统的更新加快,也需要跟随上时代的进步,所以需要把平时工作中遇到的问题总结出来,及时做好记录归纳总结,然后进一步的提升自己能力,本专栏提供给在13.0的rom定制过程中需要寻求帮助的伙伴们给个指引,如有不到之处可以提出来探论,共同进步 阅读详情

相关推荐

wallpaper-setting:将图像设置为VSCode背景的扩展

墙纸设置 将图像设置为VSCode背景。 用法 按“⇧⌘P”调出命令面板并输入“墙纸设置” 从菜单中选择所需的设置 实施时间表 仅重新配置一些设置 保留最近设置的内容 幻灯片的随机播放*由于缺乏技巧,可能无法执行。 中断模式*可能由于缺少而无法完成(ry 显示时间*可能未做完(ry

樱花漂落的动态壁纸

 一个樱花飘落的动态壁的例子学习动态壁纸开发。 图片来源于樱花动态壁纸.apk,   源码见底部     动态墙纸的是一个比较特殊的APK。 Android动态墙纸的本质是一个“Service”,这个Service通过AndroidManifest.xml文件中Service的intent-filter的action能够被主界面Launcher加载。 &lt;?xml version...

zsg88的专栏 728

Microsoft Defender防病毒扫描添加排除项

Win10与Win11上的“**Microsoft Defender防病毒**”功能默认会自动扫描所有非压缩文件,如果发现病毒或疑似病毒甚至经过手动修改后某些安装文件,会自动将其删除,如果是后面两种情况,则可能会造成误报,对我们正常办公或学习造成不利影响。 此时, 我们可以将某个目录或文件设置为“**Microsoft Defender防病毒不会扫描已排除的项目**”(<red>但要注意:这些被排除的目录或文件会给笔记本造成一定的安全风险,如果真有病毒感染这些目录或文件它们也不会被“**Micr

weixin_42148668的博客 6481

android settings---------WallpaperTypeSettings.java(壁纸设置)

Intent.ACTION_SET_WALLPAPER                  该 Intent 常量是一个 String,表示启用设置壁纸的 Activity,也就是说只要我们的系统中有这样的 Activity(action 为 android.intent.action.SET_WALLPAPER)就可以出现在选择器中。       原生的 android 系统中有三个这样的

jifengwei_21的专栏 1658

PCB布线避坑指南:为什么你的差分线等长总调不好?AD19蛇形等长技巧详解

本文详细解析了AD19环境下PCB差分线等长调整的核心技巧与常见问题。从差分信号等长的底层逻辑到AD19规则配置,再到蛇形等长高级技巧和信号完整性验证,帮助工程师解决差分线等长调整中的难题,提升高速PCB设计的信号质量。

weixin_28738397的博客 382

【代码】获取高级行情数据,并通过 qmt 进行实际下单交易,自动实现止盈止损管理

【代码】获取高级行情数据,并通过 qmt 进行实际下单交易,自动实现止盈止损管理

XD1996CD的博客 4108

com.android.settings.settings,android系统应用之Settings

Setting作为安卓一个比较重要的系统级应用,为用户提供一些系统项的设置。原生android系统的源码路径:/packages/apps/Settings。但MTK厂商的源码包中对该应用进行了重构其源码路径:/vendor/mediatek/proprietary/packages/apps/MtkSettings。一、Setting1、Setting函数入口android应用程序的入口比较简单...

weixin_28859539的博客 7330

避开这些坑!晶圆封装中Wire Bonding(引线键合)的5种常见不良与实战调试心得

本文深入探讨晶圆封装中Wire Bonding(引线键合)的5种常见不良现象,包括Wire Offset、BSOB不良、球径/球厚异常、弧度不良和IMC问题。通过实际案例和参数优化方案,帮助工程师提升封装质量和可靠性,特别适用于半导体封装领域的专业人士。

weixin_33672109的博客 523

Android13-EDLA 预装使用GoogleWallpaper并打开壁纸Themed icon 功能(M56 - Monochrome App icon)

Android13-EDLA 预装使用GoogleWallpaper并打开壁纸Themed icon 功能(M56 - Monochrome App icon)

qq_25283407的博客 2310

数字IC后端手把手实战教程 | Innovus verify_drc VIA1 DRC Violation解析及脚本自动化修复方案

数字IC后端实战项目案例之Innovus verify_drc DRC Violation脚本自动化修复方案

weixin_37584728的博客 4042

PID循迹控制算法

前言  让小车进行循迹最重要的是获取车相对于循迹线的位置,关于循迹模块的原理我已经在之前的一篇博客上讲过,如果大家没看过的话可以点此链接:PID循迹模块原理。 PID循迹原理简介 图1 循迹车寻线行走图示 图2 市场常见循迹传感器  PID循迹的原理我们大致可以用常识性思维去思考下,如图1所示为循迹车寻线行走图示,现在小车要按照中间那条黑线循迹行走,如果车头往左偏则需要控制方向盘让车往右转,车头往又偏则需要让车往左转。但是仅仅只有左转和右转的话,车一到左边就向右转,一到右边就向左转,则车会来回在线左右晃动

Dinvent的博客 7万+

android 12 添加菜单

【代码】android 12 添加菜单。

xiaowang_lj的博客 912

OceanBase容量统计:租户、数据库、表大小

🍎 数据库版本:OceanBase V4。

Sebastien23的博客 1396

最新安卓版本对照表,API对照表(持续更新,更新到安卓17)

话不多说,直接上表,持续更新(更新到安卓16)。 列出了所有记录的可能会影响应用开发者的功能和行为变更。请使用此列表查找影响您的变更,然后点击相应的链接以阅读文档。下表列出了所有记录的可能会影响应用开发者的功能和行为变更。请使用此列表查找影响您的变更,然后点击相应的链接以阅读文档。Java 和 OpenJDK 是 Oracle 及/或其关联公司的商标或注册商标。

雨季余静的博客 9万+

linux安装配置Mysql详细步骤

下载Mysql rpm包 官网下载:https://dev.mysql.com/downloads/mysql/ 如果你到了这里,本地应该有了如下四个rpm包: mysql-community-client-5.7.26-1.el6.x86_64.rpm mysql-community-common-5.7.26-1.el6.x86_64.rpm mysql-community-libs-5...

🏆 前端领域优质创作者 7万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android 配置默认壁纸

在这个文件下面: frameworks/base/core/res/res/values/config.xml   @null 将@null替换成你想要配置的壁纸服务就可以了。 eg: com.android.wallpaper/.GalaxyWallpaper 这里的com.android.wallpaper/.galaxy.Ga

kaiyoushiwo007的专栏 934

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

WaveInApp权限管理完全指南:解决Android M+录音权限问题

在Android应用开发中,权限管理是确保应用正常运行的关键环节。WaveInApp作为一款专业的音频可视化库,需要访问设备的录音权限才能实现实时的音频波形效果。本文将为您提供完整的WaveInApp权限管理解决方案,帮助您轻松应对Android M+的运行时权限挑战。 ## 📱 为什么WaveInApp需要录音权限? WaveInApp是一个基于OpenGL ES 2.0的高性能音频可视化

gitblog_01034的博客 423

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

安卓手机权限总结安卓权限列表

1.android.permission.WRITE_USER_DICTIONARY允许应用程序向用户词典中写入新词 2.android.permission.WRITE_SYNC_SETTINGS写入Google在线同步设置 3.android.permission.WRITE_SOCIAL_STREAM读取用户的社交信息流 4.android.permission.WRITE_SMS允许程序写短信 5.android.permission.WRITE_SETTINGS允许程序读取或写入系统设..

amaoatao的博客 3647

Android14 WMS-窗口添加流程(一)-Client端

窗口布局在onCreate方法中通过setContentView(R.layout.xxx)加载,但窗口的显示并不是在wm_on_create_called中, 而是在wm_on_resume_called后,这个在后面会讲解到。

weixin_41028555的博客 1597

Android 13 aosp Launcher 隐藏“壁纸和样式“入口

【代码】Android 13 aosp Launcher 隐藏“壁纸和样式“入口。

人生只是一种体验,不必用来演绎完美。 575

crt 安卓系统的secure_护眼又省电,让安卓深色模式像 iOS 的一样好用

最近有外媒对深色模式下的 iPhone XS 进行了续航测试。结果显示浅色模式耗尽电量时。深色模式下的 iPhone XS 还能剩余 30% 的电量。因为省电护眼等特性。深色模式成为今年 Android 和 iOS 功能更新的重点。但跟 iOS 的认真对待不同。尽管目前 Andorid、MIUI 等系统已经完成了今年的大更新。作为重点的深色模式仍然只是半成品。Android & ...

weixin_29340327的博客 521

Android 权限(permission)整理

在Android的设计中,资源的访问或者网络连接,要得到这些服务都需要声明其访问权限,否则将无法正常工作。 在Android中这样的权限有很多种,这里将各类访问权限罗列出来,供大家使用时参考之用。 整理安卓权限的博客很多,很多大同小异,也不知道这是谁先写的。这里就不写出处了,用作记录,以便需要时搜索。

qq_33163046的博客 9091

安卓的权限

安卓权限

m0_71202576的博客 1002

Android framework系统默认设置修改

Launcher 总结:   1、launcher的布局太居中,要想两边拉伸     apps_customize_pageLayoutPaddingLeft">40dp     apps_customize_pageLayoutPaddingRight">40dp apps tab栏的宽度(Launcher2 icon 数目、大小) \packages\a

但行好事,莫问前程 1999

h5+、mui等app安卓需要的Android权限大全(不用再费心找了)

1.android.permission.WRITE_USER_DICTIONARY  允许应用程序向用户词典中写入新词 2.android.permission.WRITE_SYNC_SETTINGS  写入Google在线同步设置 3.android.permission.WRITE_SOCIAL_STREAM  读取用户的社交信息流 4.android.permission.WRITE_S...

u012442504的专栏 3360
上一篇: Android 14 Launcher3 开机闪黑屏?不用怕,手把手教你解。
下一篇: Android 14上识别U盘是2.0还是3.0
lojotee
博客等级 码龄7年 29粉丝 13原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值