mt6735 打开双卡铃声设置功能后,设置卡1,卡2的铃声之后,将两张...
时间:10-02
整理:3721RD
点击:
[Audio Profile]打开双卡铃声设置功能后,设置卡1,卡2的铃声之后,将两张卡交换卡槽,铃声也会交换
[DESCRIPTION]
1,打开mtk_MULTSIM_RINGTONE_SUPPORT,即打开双卡来电铃声分别设置的功能;
2,卡槽1和卡槽2分别插SIMA和SIMB,设置卡1的铃声为aaa,设置卡2的铃声为bbb;
3,关机,将2张sim卡互换卡槽,即SIMA插在卡槽2,SIMB插在卡槽1上;
4,开机,进入情境模式查看来电铃声,卡1显示的是bbb,卡2显示的是aaa;也就是说看起来设置的铃声跟着卡走。
如何设置成设置铃声时,设置卡1的铃声就是给插在卡槽1的SIM卡使用,设置卡2的铃声就是给插在卡槽2的SIM卡使用?
[SOLUTION]
SIM卡Info说明:
双卡来电铃声的设置,是根据SIM ID的不同而设置不同的ringtone,我们是根据SIM的ICCID(Integrate circuit card identity 集成电路卡识别码,固化在手机SIM卡中)不同为其分配一个固定的ID,这个ID在一部手机上是固定不变的,它可能是1,2,3,4,5...
1,假设手机上卡槽1,卡槽2分别插着SIMA,SIMB:
在siminfo table:
对于SIMA,根据它的ICCID创建一笔SIM Info Record,SIM ID是1,那么设置这张卡的来电铃声的键值为mtk_audioprofile_general_ringtone_sim_id_1,假设设置的铃声title为aaa;
对于SIMB,根据它的ICCID创建新的一笔SIM Info Record,SIM ID是2(SIM ID呈递增),那么设置这张卡的来电铃声的键值为mtk_audioprofile_general_ringtone_sim_id_2,假设设置的铃声title为bbb;
2,关机两张卡互换位置之后,开机,SIMA虽然在卡槽2,但是通过它的ICCID在原来simInfo table找到它的SIM ID是1,所以读取这张卡的铃声的key值仍为mtk_audioprofile_general_ringtone_sim_id_1,取到的还是aaa,同理SIMB也是取到mtk_audioprofile_general_ringtone_sim_id_2,所以看起来设置的铃声是跟随着卡走的。
3,若把SIMB拔了,在卡槽1上插新的SIMC,则根据它的ICCID创建新的一笔SIM Info Record,SIM ID是3(SIM ID呈递增),那么设置这张卡的来电铃声的键值为mtk_audioprofile_general_ringtone_sim_id_3;
4,以此类推,只要SIM卡不同,ICCID不同,它在这部手机上的sim ID就不同,但是一旦手机有记录这张卡的ICCID和sim ID的记录,这张卡在手机上的sim ID就是固定的不变,不根据插的卡槽不同而不同。
如何设置成设置铃声时,设置卡1的铃声就是给插在卡槽1的SIM卡使用,设置卡2的铃声就是给插在卡槽2的SIM卡使用?
只要将设置时取的SIM ID改成取SIM Slot即可,修改如下:
1) , Editprofile.Java 将 GeminiUtils.EXTRA_SIMID 改成 GeminiUtils.EXTRA_SLOTID
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
Xlog.d(TAG, "onActivityResult " + "requestCode " + requestCode + " " +
resultCode + "resultCode");
if (requestCode == GeminiUtils.REQUEST_SIM_SELECT) {
if (resultCode == Activity.RESULT_OK) {
mSimId =(long) data.getIntExtra(GeminiUtils.EXTRA_SLOTID, -1);
setRingtoneSIMId(mSimId);
}
Xlog.v(TAG, "Select SIM slot id = " + mSimId);
}
}
2 ), CallNotifier.java 中将 mSimInfoId 改成 mSimSlotId
public Uri getDefaultRingtoneUri(Call ringCall) { ....
if (PhoneUtils.getSimInfoByCall(ringCall) != null) {
simId = (long)PhoneUtils.getSimInfoByCall(ringCall).mSimSlotId;
}
KK版本与上面稍有不同,请如下修改:
1. Editprofile.java将GeminiUtils.EXTRA_SIMID改成
GeminiUtils.EXTRA_SLOTID,并且需要+1
即:mSimId =(long)data.getIntExtra(GeminiUtils.EXTRA_SLOTID, -1)+ 1;
2. 将CallNotifier.java中将mSimInfoId改成mSimSlotId,并且需要+1
即: simId = (long)PhoneUtils.getSimInfoByCall(ringCall).mSimSlotId + 1;
3.将packages/apps/Settings/src/com/mediatek/audioprofile/DefaultRingtonePreference.java中,onCLIck()中的
if (FeatureOption.MTK_MULTISIM_RINGTONE_SUPPORT && simNum ==
SINGLE_SIMCARD) {
setSimId(simList.get(0).mSimId);
}
修改为:
if (FeatureOption.MTK_MULTISIM_RINGTONE_SUPPORT && simNum ==
SINGLE_SIMCARD) {
setSimId((long)(simList.get(0).mSlot) + 1);
}
[DESCRIPTION]
1,打开mtk_MULTSIM_RINGTONE_SUPPORT,即打开双卡来电铃声分别设置的功能;
2,卡槽1和卡槽2分别插SIMA和SIMB,设置卡1的铃声为aaa,设置卡2的铃声为bbb;
3,关机,将2张sim卡互换卡槽,即SIMA插在卡槽2,SIMB插在卡槽1上;
4,开机,进入情境模式查看来电铃声,卡1显示的是bbb,卡2显示的是aaa;也就是说看起来设置的铃声跟着卡走。
如何设置成设置铃声时,设置卡1的铃声就是给插在卡槽1的SIM卡使用,设置卡2的铃声就是给插在卡槽2的SIM卡使用?
[SOLUTION]
SIM卡Info说明:
双卡来电铃声的设置,是根据SIM ID的不同而设置不同的ringtone,我们是根据SIM的ICCID(Integrate circuit card identity 集成电路卡识别码,固化在手机SIM卡中)不同为其分配一个固定的ID,这个ID在一部手机上是固定不变的,它可能是1,2,3,4,5...
1,假设手机上卡槽1,卡槽2分别插着SIMA,SIMB:
在siminfo table:
对于SIMA,根据它的ICCID创建一笔SIM Info Record,SIM ID是1,那么设置这张卡的来电铃声的键值为mtk_audioprofile_general_ringtone_sim_id_1,假设设置的铃声title为aaa;
对于SIMB,根据它的ICCID创建新的一笔SIM Info Record,SIM ID是2(SIM ID呈递增),那么设置这张卡的来电铃声的键值为mtk_audioprofile_general_ringtone_sim_id_2,假设设置的铃声title为bbb;
2,关机两张卡互换位置之后,开机,SIMA虽然在卡槽2,但是通过它的ICCID在原来simInfo table找到它的SIM ID是1,所以读取这张卡的铃声的key值仍为mtk_audioprofile_general_ringtone_sim_id_1,取到的还是aaa,同理SIMB也是取到mtk_audioprofile_general_ringtone_sim_id_2,所以看起来设置的铃声是跟随着卡走的。
3,若把SIMB拔了,在卡槽1上插新的SIMC,则根据它的ICCID创建新的一笔SIM Info Record,SIM ID是3(SIM ID呈递增),那么设置这张卡的来电铃声的键值为mtk_audioprofile_general_ringtone_sim_id_3;
4,以此类推,只要SIM卡不同,ICCID不同,它在这部手机上的sim ID就不同,但是一旦手机有记录这张卡的ICCID和sim ID的记录,这张卡在手机上的sim ID就是固定的不变,不根据插的卡槽不同而不同。
如何设置成设置铃声时,设置卡1的铃声就是给插在卡槽1的SIM卡使用,设置卡2的铃声就是给插在卡槽2的SIM卡使用?
只要将设置时取的SIM ID改成取SIM Slot即可,修改如下:
1) , Editprofile.Java 将 GeminiUtils.EXTRA_SIMID 改成 GeminiUtils.EXTRA_SLOTID
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
Xlog.d(TAG, "onActivityResult " + "requestCode " + requestCode + " " +
resultCode + "resultCode");
if (requestCode == GeminiUtils.REQUEST_SIM_SELECT) {
if (resultCode == Activity.RESULT_OK) {
mSimId =(long) data.getIntExtra(GeminiUtils.EXTRA_SLOTID, -1);
setRingtoneSIMId(mSimId);
}
Xlog.v(TAG, "Select SIM slot id = " + mSimId);
}
}
2 ), CallNotifier.java 中将 mSimInfoId 改成 mSimSlotId
public Uri getDefaultRingtoneUri(Call ringCall) { ....
if (PhoneUtils.getSimInfoByCall(ringCall) != null) {
simId = (long)PhoneUtils.getSimInfoByCall(ringCall).mSimSlotId;
}
KK版本与上面稍有不同,请如下修改:
1. Editprofile.java将GeminiUtils.EXTRA_SIMID改成
GeminiUtils.EXTRA_SLOTID,并且需要+1
即:mSimId =(long)data.getIntExtra(GeminiUtils.EXTRA_SLOTID, -1)+ 1;
2. 将CallNotifier.java中将mSimInfoId改成mSimSlotId,并且需要+1
即: simId = (long)PhoneUtils.getSimInfoByCall(ringCall).mSimSlotId + 1;
3.将packages/apps/Settings/src/com/mediatek/audioprofile/DefaultRingtonePreference.java中,onCLIck()中的
if (FeatureOption.MTK_MULTISIM_RINGTONE_SUPPORT && simNum ==
SINGLE_SIMCARD) {
setSimId(simList.get(0).mSimId);
}
修改为:
if (FeatureOption.MTK_MULTISIM_RINGTONE_SUPPORT && simNum ==
SINGLE_SIMCARD) {
setSimId((long)(simList.get(0).mSlot) + 1);
}