Android6.0/7.0上 添加对开机铃声的开关控制操作

     在Android源码的设计中,开机动画、开机铃声相关配置实现都是在下面这个目录下操作的:

/frameworks/base/cmds/bootanimation/BootAnimation.cpp

在这个下面,会根据系统的一些属性值来判断 是否加载开机动画以及开机铃声。例如,在MTK/高通平台,会在该文件下根据系统属性键值” persist.sys.silence “获取属性值,1 代表开机有铃声,0 代表开机无铃声(当然,有铃声播放的同时,一定要有动画播放的)。

 property_get("persist.sys.silence", silence, "0");
     if(strcmp("1", silence) !=0){
         (BootAnimationExt::Instance())->soundplay();  
用户最直接的操作就是,在系统设置应用里 进行对该开关的设置操作即可;如下:

添加checkbox开关控件进行监听处理,

  设置:  SystemProperties.set("persist.sys.silence", isBootPlayOn ? "0" : "1");

  获取:  boolean isBootPlayOn = "0".equals(SystemProperties.get("persist.sys.silence", "1"));

其实就是设置开关,很简单的。

具体验证时,添加对应的开机动画资源和铃声资源即可;

adb push bootsound.mp3  /system/media/ 

adb push  bootanimation.zip  /system/media/

          


猜你喜欢

转载自blog.csdn.net/liu_guizhou/article/details/79209327
今日推荐