Android 开机震动、动画、铃声添加方案

摘要:
Vendormediatek专有ootableootloaderlkplatformmt6739a。修改平台的mboot。c文件。c file_ common_ load_徽标方法显示启动徽标前添加的振动//addforlkvibervibr_ Enable_ HW();

Android 开机震动、动画、铃声添加方案第1张
Android 开机震动、动画、铃声添加方案第2张

极力推荐文章:欢迎收藏
Android 干货分享
Android 开机震动、动画、铃声添加方案第2张

本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:

一、 开机震动添加方案(MTK 、展讯)
二、 开机动画、铃声 添加方案
三、 开机Logo 添加方案

一、Android 开机震动添加方案(MTK 、展讯)

1.MTK 平台 震动添加方案

MT6739 平台为例,大致路径如下:
vendormediatekproprietaryootableootloaderlkplatformmt6739

  • a. 修改platform.c文件

platform.c 文件中的 mboot_common_load_logo 方法显示开机Logo之前添加震动.

        // add  for lk viber
	    vibr_Enable_HW();//开启震动
        mdelay(80); //震动80ms
        vibr_Disable_HW();//关闭震动
		// add  for lk viber
		//显示开机 Logo
		mboot_common_load_logo((unsigned long)mt_get_logo_db_addr_pa(), "logo");

  • b. 查看mt_pmic.h 头文件声明方法

mt_pmic.h

extern void vibr_Enable_HW(void);
extern void vibr_Disable_HW(void);
  • c. 在对应的mt_pmic.c 文件中实现方法

image.png

void vibr_Enable_HW(void)
{
	pmic_set_register_value(PMIC_RG_VIBR_VOSEL, 5);
	pmic_set_register_value(PMIC_RG_LDO_VIBR_EN, 1);
}

void vibr_Disable_HW(void)
{
	pmic_set_register_value(PMIC_RG_LDO_VIBR_EN, 0);
}

2.展讯平台 添加开机震动的方法

展讯平台修改开机震动的文件路径为u-boot64/common/loader/boot_mode.c

boot_mode.c 中修改normal_mode(void)

void normal_mode(void)
{
        vibrator_hw_init();
        //设置 开机震动  1 :震动  0:不震动
        set_vibrator(1);  
        vlx_nand_boot(BOOT_PART, BACKLIGHT_ON);
        return;
}
二、 Android 开机动画、铃声 添加方案

开机动画、开机铃声 主要存放在手机中system/media/下,开机时候会自动扫描这个目录,播放开机动画、铃声。

国内运营商定制开机动画地址如下:

  • OP01 中国移动
  • OP02 中国联通
  • OP09 中国电信
/vendor/mediatek/proprietary/operator/frameworks/bootanimation/OP01/bootanimation/WVGA/bootanimation.zip
/vendor/mediatek/proprietary/operator/frameworks/bootanimation/OP02/bootanimation/FWVGA/bootanimation.zip
/vendor/mediatek/proprietary/operator/frameworks/bootanimation/OP09/bootanimation/WVGA/bootanimation.zip

自定义开机动画存放目录

当需要自定义开关机动画(必须存储格式压缩)时候,我们可以用脚本拷贝到手机的system/media/,在开机的时候就会自动加载自定义开机动画。
比如目录alpsvendor...... esootoot_res.mk等。

# 开机动画存放路径
LOCAL_PATH:= vendor/....../res/boot

ANIMATION_PACKAGE_DIR := $(LOCAL_PATH)/$(MODULES_FEATURE_ANIMATION_PACKAGE)
HAS_ANIMATION_PACKAGE_DIR := $(shell test -d $(ANIMATION_PACKAGE_DIR) && echo yes)  

ifeq ($(strip $(HAS_ANIMATION_PACKAGE_DIR)),yes)
    ifeq ($(MODULES_FEATURE_BOOT_ANIMATION),yes)
    PRODUCT_COPY_FILES += 
    #开机动画 拷贝到手机/system/media 下        $(ANIMATION_PACKAGE_DIR)/bootanimation.zip:system/media/bootanimation.zip 
    endif
    ifeq ($(MODULES_FEATURE_BOOT_SOUND),yes)
    PRODUCT_COPY_FILES += 
     #开机铃声 拷贝到手机/system/media 下           $(ANIMATION_PACKAGE_DIR)/bootsound.mp3:system/media/bootsound.mp3
    endif
    ifeq ($(MODULES_FEATURE_SHUT_ANIMATION),yes)
    PRODUCT_COPY_FILES += 
     #关机动画 拷贝到手机/system/media 下            $(ANIMATION_PACKAGE_DIR)/shutdownanimation.zip:system/media/shutdownanimation.zip 
    endif
    ifeq ($(MODULES_FEATURE_SHUT_SOUND),yes)
    PRODUCT_COPY_FILES += 
    #关机铃声 拷贝到手机/system/media 下                 $(ANIMATION_PACKAGE_DIR)/shutdownsound.mp3:system/media/shutdownsound.mp3
    endif
else
    $(warning $(ANIMATION_PACKAGE_DIR) Not found, use default!)
endif
三、 开机Logo 添加方案

开机Logo 存放路径如下:
vendormediatekproprietaryootableootloaderlkdevlogo,开机log必须需位图(bmp),这样方便图片读取。

uboot、kernel logo路径如下:

vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/hdplus/hdplus_kernel.bmp
vendor/mediatek/proprietary/bootable/bootloader/lk/dev/logo/hdplus/hdplus_uboot.bmp

根据使用的运营商或者分辨率修改对应的 kernel Logouboot Logo,或者使用覆盖图片覆盖以上目录的图片资源.

Android 开机震动、动画、铃声添加方案第2张

至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。同时期待您的关注,感谢您的阅读,谢谢!

微信关注公众号: 程序员Android,领福利

免责声明:文章转载自《Android 开机震动、动画、铃声添加方案》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇verilog的系统函数$readmemh的使用maven 实现activity工作流的简单例子(以报销为例 附代码)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

QGis2.9在windows下的编译以及二次开发包下载

https://blog.csdn.net/deirjie/article/details/48216773 今天心血来潮,将QGis在github上的代码更新后,又编译了一下。留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明。编译过程非常顺利,除了在CMake的第一次configure的时候弹出了一个小错误外,后续的工程生...

线性基习题小结

洛谷P4839“P的桶” •题意   有 m 个桶,依次编号 1~m;   初始,这 m 个桶全部为空桶;   给你 n 次操作,每次操作有两种:     (1)1 k x : 往 k 桶中加入数     (2)2 l r : 查询 $[l,r]$ 对应数的异或最大值; •题解   很常规的一道线性基题目;   用线段树维护,对于操作 1,找到第 k...

SAPCAR 压缩解压软件的使用方法

  SAPCAR 是 SAP 公司使用的压缩解压软件,从 SAP 网站下载的补丁包和小型软件基本都是扩展名为 car 或 sar 的,它们都可以用 SAPCAR 来解压。下面是它的使用说明: 用法: 创建新档案:SAPCAR -c[vir][f archive] [-P] [-C directory]   [-A filename] [-T filena...

帆软常用JS

1.鼠标移动图片放大 $("td[id^=A] img").mouseover(function(e){var col=Number($(this).attr("col"))+1; //获取鼠标当前所在单元格的col var row=$(this).attr("row"); //获取鼠标当前所在单元格的row var img=this.src; //获取到...

JAVA中使用动态链接库须知

好不容易 使用cygwin+windows打了个包,放到JAVA中使用。但是还是会报各种错。   JAVA中使用.so文件 static{ System.loadLibrary("test"); //加载libtest.so } 以上是网上的经典用法,很简单的一句。但是用的时候还是出错了。。。 主要还是.so路径找不到。找了大半天,终于,问题解决了...

pycharm连接git的方法

 一、打开pycharm-VCS-checkout from version control,选择git;  二、输入gitURL和本地文件夹路径,点击clone;   三、上传文件     如果不小心只点了commit,没点commit and push     四、下载文件  五、pycharm连接git失败的解决办法...