AndroidQ(10.0) 预制客供壁纸和铃声

预制客供壁纸

之前这个功能在 6.0 上修改过,已经是三年前了,之前壁纸选择还集成在 Launcher3 中,当时参考这篇

Android系统之路(初识MTK) ------ (详细精华)添加客供系统壁纸去除系统动态壁纸/Camera默认fine/remove android beam_wallpaperpicker findbundledwallpapers-CSDN博客 进行的修改

Q 版本中已经独立出来了,在 WallpaperPicker 中进行修改

制作缩略图,将客户提供的壁纸丢给美工制作对应的缩略图,然后将所有资源图片放置到

vendor\mediatek\proprietary\packages\apps\WallpaperPicker\res\drawable-xhdpi

我这里预制两张,注意文件命名

注意 small为缩略图 ,必须要有(可以使用原文件),不然不显示预览选择的图片

packages/apps/WallpaperPicker/res/drawable-xhdpi/wallpaper_01.png                 
packages/apps/WallpaperPicker/res/drawable-xhdpi/wallpaper_01_small.png       
packages/apps/WallpaperPicker/res/drawable-xhdpi/wallpaper_02.png                 
packages/apps/WallpaperPicker/res/drawable-xhdpi/wallpaper_02_small.png 

将刚刚所添加的 png 壁纸名称配置 wallpapers.xml

packages\apps\WallpaperPicker\res\values-nodpi\wallpapers.xml

<resources>
    <string-array name="wallpapers" translatable="false">
        <item>wallpaper_01</item>
        <item>wallpaper_02</item>
    </string-array>
</resources>

调整获取默认壁纸尺寸大小值

packages\apps\WallpaperPicker\src\com\android\wallpaperpicker\WallpaperUtils.java

public static Point getDefaultWallpaperSize(Resources res, WindowManager windowManager) {
        if (sDefaultWallpaperSize == null) {
            Point realSize = new Point();
            windowManager.getDefaultDisplay().getRealSize(realSize);
            int maxDim = Math.max(realSize.x, realSize.y);
            int minDim = Math.min(realSize.x, realSize.y);

            // We need to ensure that there is enough extra space in the wallpaper
            // for the intended parallax effects
            final int defaultWidth, defaultHeight;
            if (res.getConfiguration().smallestScreenWidthDp >= 720) {
                defaultWidth = (int) (maxDim * wallpaperTravelToScreenWidthRatio(maxDim, minDim));
                defaultHeight = maxDim;
            } else {
                //defaultWidth = Math.max((int) (minDim * WALLPAPER_SCREENS_SPAN), maxDim);
                //defaultHeight = maxDim;
                //add begin set full screen  start
                defaultWidth = realSize.x;
                defaultHeight = realSize.y;         
                //add begin set full screen  end
            }
       //add begin set full screen  start
      //sDefaultWallpaperSize = new Point(defaultWidth, defaultHeight);
            sDefaultWallpaperSize = realSize;
      //add begin set full screen  end
        }
        return sDefaultWallpaperSize;
    }

预制客供铃声

这个没啥特殊的,确保格式是 ogg 就行

预制到 frameworks/base/data/sounds/ringtones/ogg/ 中

并修改 frameworks/base/data/sounds/AllAudio.mk 将其拷贝到 out 路径下即可

这里有个坑提醒一下

如果预制以后,发现系统铃声选择列表中少了或者名称不对,那么你需要修改下原文件的标题

你可以通过右键原文件详细信息里查看是否带有标题或者其它艺术家之类的信息,需要把这些都

删除方可正常。

  • 19
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaowang_lj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值