安卓怎么在抖音设置动态壁纸(Android中探究抖音短的动态壁纸以及动态壁纸的拓展功能使用)
安卓怎么在抖音设置动态壁纸(Android中探究抖音短的动态壁纸以及动态壁纸的拓展功能使用)
2024-11-08 07:52:06  作者:几多温柔  网址:https://m.xinb2b.cn/tech/zrs328095.html

一、前言

最近玩抖音感觉都快废了,所以我决定不玩了,我要学习所以先从他的动态壁纸学起,因为整个应用中也就是动态壁纸有点好玩的技术,而且也就是抖音能做这个功能,其他的短视频或许做不了比如快手如果要做你觉得有几个人会把老铁双击666这样的视频作为壁纸,而抖音中的小姐姐作为壁纸的可能性会很大。其实动态壁纸在Android中早就用到了,之前说的很神奇的透明屏幕其实可以用动态壁纸来做:


二、使用方法

但是先不说这个,先把抖音的动态壁纸功能说一下吧,在Android中开发动态壁纸其实很简单,只需要两步就可以了:

第一步:定义一个动态壁纸服务


继承系统壁纸服务类,然后在回调方法中创建一个引擎返回即可。关于引擎后面会说。

第二步:在XML中声明服务


这里需要声明权限以及定义壁纸的额外附属信息,比如壁纸的预览图片等。

然后我们需要启动系统设置壁纸的页面:


这样我们就完成了所以设置操作了,所以接下来就需要在上面的那个引擎中进行操作了,我们还是回到抖音中查看他是如何做到的,这样的跟踪就简单了,直接去他的xml中搜索那个权限:


找到这个类之后,直接去Jadx中去搜索:


找到创建的回调方法中,然后点进去进行查看:


三、方法说明

看到这里就明白了,他是会把当前视频下载下来,然后结合MediaPlayer来进行操作的,而播放载体的SurfaceHolder就来自于引擎回调方法,接下来详细看看引擎有哪些重要的方法:


第一个方法:getSurfaceHolder

获取当前动态壁纸展示的SurfaceHolder,这个类型相信大家弄过视频都对这个不陌生了,如果有了SurfaceHolder作为渲染载体我们可以自己手动画画,用摄像头,播放视频等操作了。所以这个方法是多么至关重要。

第二个方法:onSurfaceCreated

渲染创建的时候也就是壁纸启动的时机,所以一般初始化操作都会在这里做,比如上面的抖音设置视频准备工作就在这里做的。这个方法是个回调方法,可以获取到SurfaceHolder变量。

第三个方法:onTouchEvent

这个方法其实不陌生了,就是触摸事件,我们如果在对手指触摸屏幕的时候需要做一些事情的时候可能需要在这里记录触摸的坐标信息进行后面操作。

第四个方法:onOffsetsChanged

这个方法是在壁纸滑动的时候位置变化回调,这个对于做动态壁纸特效用的会比较多,现在市面上不是有很多酷炫的3D壁纸效果,其实这个方法必不可少。

第五个方法:onVisibilityChanged

这个方法非常重要,他表示当前壁纸是否可见,比如在桌面上点击应用图标进入应用的时候这时候壁纸就不可见了,我们可以暂停一些事情,当我们按返回键或者home键回到桌面的时候壁纸又可见了,这时候我们在继续做一些事情。

第六个方法:onSurfaceDestroyed

这个方法和之前的创建方法对应就是销毁的时候我们需要释放资源操作。

四、案例操作

第一、实现视频动态壁纸

主要就是这几个方法非常关键,下面我们就用三个场景来看看动态壁纸的玩法,首先第一个把抖音的视频做成动态壁纸功能实现了,其实很简单,这里就模拟本地一个视频,直接用MediaPlayer类进行操作,把视频展示在引擎的SurfaceHolder上即可:


因为有了壁纸的SurfaceHolder,结合MediaPlayer就可以直接操作了。没有任何难度,我们可以在壁纸可见和不可见的时候暂停播放视频。看看效果图:


第二、自定义绘画动态壁纸

因为了有了SurfaceHolder,我们可以获取到画布,然后随便在上面涂鸦操作,这里结合触摸点事件进行操作


每次触摸壁纸就在画布上画一个圆圈,当然有了画布和画笔你想怎么涂都可以。看看效果图:


第三、用摄像头拍摄制作动态壁纸

因为之前开发过摄像头的知道,摄像头采集到的数据也是需要展示出来的,那么这里也是展示到一个SurfaceHolder即可:


这样我们就可以做了之前说的透明壁纸了。也可以对摄像头的每一帧数据进行处理比如美颜等看到不同的效果。看看效果图:


第四、结合OpenGL做酷炫桌面

这个这里不在弄了,因为大家懂得OpenGL还是很麻烦的,但是都需要借助SurfaceHolder的,我们看一下市面上的一个3D效果桌面动态壁纸:


四、技术延伸

好了到这里我们就说完了Android中动态壁纸的几种玩法了,其实很简单,实现系统服务返回自己的引擎,在引擎回调中难道当前壁纸的SurfaceHolder,有了这玩意就可以做很多事了,当然这里最好了解一下Android中的视频开发,之前其实已经开设了一个专栏详细介绍了视频开发知识,可以去我的网站搜索,一张神图总结如下:

如果看懂这样图其实还有很多东西可以做,具体的就留给感兴趣的同学去做吧。

最后在来说一下为啥系统设置壁纸还需要权限呀?其实这里有一个问题如果没有权限那么用户的桌面就会被滥用,比如恶意者可以制作一个视频或者绘画一些信息比如这里暂时广告信息,然后在后台偷偷的设置了壁纸,这样用户的桌面就变成了广告了,这样用户也会疯掉的。所以权限是肯定要有的。但是Android始终是Android,安全性的确和iOS没法比,我们通过抖音就可以看到Android版本下载之后直接就跳转到设置壁纸页面了,这样用户体验的确很好但是安全性其实不怎么好,而iOS下载完之后会提示你自己去系统设置页面进行设置壁纸操作:

这个细微的差距可以看到Android系统给出什么开发权限,iOS给出什么样的开发权限,个人看来偏向于iOS越安全越好。

喜欢小编的可以给小编点点关注

  • 提升内心动力的办法(从我不行到)
  • 2024-11-09从我不行到随着社交网络的流行,越来越多人在虚拟世界维护着自己精心打造出的形象,这个不太真实的自己甚至占去了我们生活大部分的时间手机不能离手,网络一断开就恐慌我们一次次笃定下次绝不这样,然后又一次重蹈覆辙,还把它。
  • 空调开一晚上几度电(空调耗电量介绍)
  • 2024-11-09空调耗电量介绍空调每小时使用一度电1.2度左右,一晚上以8小时为例,电量使用在10度左右耗电量则是要主要看压缩机的功率,压缩机功率=制冷量/能耗比,一般空调能耗比大于3,因此1匹的电功率一般数据为735W1.5匹的。
  • 荣耀10有没有游戏功能(升级了GT的荣耀10不能畅玩游戏)
  • 2024-11-09升级了GT的荣耀10不能畅玩游戏本文来自花粉俱乐部论坛-奥菲莉娅前几天荣耀10刚推出的B139,该版本支持“GPUTurbo”技术,但仍有不少盆友为此发帖询问,为何明明有了吓人的技术,玩游戏时还是能遇到操作起来不流畅,导致最后输了游。
  • 林彪哥哥有大量房屋和土地(林彪哥哥有大量房屋和土地)
  • 2024-11-09林彪哥哥有大量房屋和土地1907年林彪出生于湖北黄冈林家大湾村,此后便是少小离家,很少再度回到故乡,随着林彪在异乡沉浮,林家大湾也同样跟着经历了风风雨雨这附近还先后出现过王亚南、李四光等人,不过,真正能让这个小村落在中国出名。
  • 塔罗牌测试你吸引什么星座(悦心塔罗测试抽张牌)
  • 2024-11-09悦心塔罗测试抽张牌有很多朋友在谈恋爱之前,总会留意适合星座配对恋爱的话题,但你知道什么星座比较适合你吗?我是塔罗师悦心,现在朋友们和悦心老师一起来抽一张塔罗牌,看看哪个星座的伴侣比较适合你吧!​选择A:适合风象星座(即。
  • 拉祜族能歌善舞(拉祜村寨踏歌声)
  • 2024-11-09拉祜村寨踏歌声老达保村口的乐谱雕塑虎遵会摄(人民视觉)独具拉祜族特色的织绣挂饰装点着民居,传递着浓浓年味虎遵会摄(人民视觉)身穿拉祜族特色服饰的孩子们虎遵会摄(人民视觉)老达保村民们日常弹奏的吉他虎遵会摄(人民视觉。
  • 冬天最适合吃的水果图文(应季水果趴28款水果美食)
  • 2024-11-09应季水果趴28款水果美食点击“美食天下”,关注最棒的美食微信水果入餐,可以提高一餐中的膳食纤维和矿物质量,不仅清甜芳香,而且色泽鲜艳,同时丰富食物的口味和口感,给人带来新的饮食享受一道精心制作、颜色绚烂的水果佳肴端上餐桌,能。
  • 迷你世界刷石机教程美人(迷你世界新版本刷石机)
  • 2024-11-09迷你世界新版本刷石机前言:迷你世界大神5步轻松制作出刷石机,堪称建路神器,60秒就可以刷出30个石块迷你世界最不缺的就是创意玩家,所以也被称为最具有创造力的3D沙盒游戏,在游戏中小伙伴们能建造出各种好玩有趣的东西,毕竟背。
  • 梦见别人生了个女儿(梦见别人生了个女儿的寓意)
  • 2024-11-09梦见别人生了个女儿的寓意梦见别人生了个女孩,预示着做这个梦的人近期运势不错,不仅生活安逸,而且在外出的途中,还会遇到自己的贵人,可谓是喜气盈门梦见别人生女儿,自己抱着她,预示着近期的运势很好,仇人会发生内讧,自己会从中获得好。
  • 什么叫冷藏缓化(冷藏缓化的意思)
  • 2024-11-09冷藏缓化的意思指长时间保存在低温环境中的肉,在售卖时通过一些设备使肉内部结构缓慢的发生变化,进行解冻冷藏是冷却后的食品在冷藏温度(常在冰点以上)下保藏食品的一种保藏方法,尤其对于果蔬,主要是使它们的生命代谢过程尽量。