Android 双卡铃声设置

关于来电铃声设置

目前Android原生系统只有一个铃声设置,即单卡铃声,项目中有双卡支持的需求,自然就需要能够进行双卡铃声的支持,本文不考虑双卡的实现,只针对双卡铃声的设置,谈一谈双卡下Settings中的双卡设置菜单,以及双卡铃声设置的实现。

涉及到的模块

1 Android Settings app,N默认只存储了一个铃声URI。现在改成双铃声,需要针对SIM1,SIM2分别保存URI。并且增加修改菜单供双卡设置Ringtone
2 Telecom:播放铃声的地方,需要根据当前SIM卡,读取对应的铃声资源URI 进行播放。
3 Framework层 MediaScanner部分:系统第一次启动会调用
frameworks/base/media/java/android/media/MediaScanner.java文件的endfile函数设置默认铃声,现在改成支持设置双卡铃声,需要视情况做调整,开始时要分别设置双卡的铃声。
4 Framework层 RingtoneManager/Ringtone部分 : 添加双开部分支持的一些接口和定义双卡的一些设置变量
5 MediaProvider :原生系统中添加外部Rongtone,每次添加会copy资源一次到Ringtone文件夹下,且可以多次重复添加,需要对此进行更改添加时不再copy,直接setRongtone

常见的相关的bug

  1. 设置外部铃声后,删除外部铃声资源,settings中显示的设置的铃声名字为数字
    {未完,待续}

猜你喜欢

转载自blog.csdn.net/ch853199769/article/details/80056530