亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

android預置默認的語音信箱號碼具體實現

2020-04-11 12:14:03
字體:
來源:轉載
供稿:網友
有些SIM卡在出廠時并沒有預置VoiceMail number,但運營商又要求能夠根據PLMN去自適應的從手機中讀取到預設的VM number。在此介紹以xml的方式預置VM number的方法,以及如何允許用戶去修改并能夠記住用戶的選擇。VM number使用的優先級為: SIM卡讀取>用戶設置>xml預置。在用戶修改voice mail number時,優先存儲到SIM卡。若SIM卡存儲失敗,則以IMSI為單位存儲到手機中。

1、支持以XML的方式預置VM number,文件名為:voicemail-conf.xml
文件的內容格式為
復制代碼 代碼如下:

<?xml version='1.0' encoding='utf-8'?>
<voicemail>
<voicemail numeric="46000" carrier="CMCC" vmnumber="10086" vmtag="CMCC voicemail" />
</voicemail>

2、關于文件的位置
文件在手機中的位置:system/etc
文件在工程中的位置(GB, GB2): vendor/mediatek/etc
文件在工程中的位置(ICS及以后): mediatek/source/frameworks/telephony/etc
對于GB、GB2的版本,還需要在在build/target/product/xxx.mk (xxx為工程名)中,添加語句PRODUCT_COPY_FILES += vendor/mediatek/etc/voicemail-conf.xml:system/etc/voicemail-conf.xml
對于ICS及ICS2的版本,還需要在build/target/product/common.mk中,添加語句PRODUCT_COPY_FILES += mediate/source/frameworks/telephony/etc/voicemail-conf.xml:system/etc/voicemail-conf.xml
對于JB及JB2以后的版本,還需要在build/target/product/common.mk中,添加語句PRODUCT_COPY_FILES += mediate/frameworks/base/telephony/etc/voicemail-conf.xml:system/etc/voicemail-conf.xml

3、使SIM卡中的VM number優先于預置號碼的方法
將SIMRecords.java (frameworks/base/telephony/java/com/android/internal/telephony/gsm)中的函數private setVoiceMailByCountry(String spn)中的語句if (mVmConfig.containsCarrier(spn))修改為
if (TextUtils.isEmpty(voiceMailTag) && TextUtils.isEmpty(voiceMailNum) && mVmConfig.containsCarrier(spn))
4、在使用了voicemail-conf.xml來預置VM number后,使終端用戶可以修改VM number的方法
1) 在SIMRecords.java中添加語句import android.text.TextUtils;
2) 在SIMRecords.java中添加一個成員變量boolean isSetByCountry = false;
3) 將SIMRecords.java中的函數private setVoiceMailByCountry(String spn)修改為
復制代碼 代碼如下:

private void setVoiceMailByCountry(String spn) {
if (TextUtils.isEmpty(voiceMailTag) && TextUtils.isEmpty(voiceMailNum) && mVmConfig.containsCarrier(spn))
{
// isVoiceMailFixed = true; //注釋掉此語句以讓用戶能夠修改
isSetByCountry = true; //讓GsmPhone知道這是從xml中讀取的
voiceMailNum = mVmConfig.getVoiceMailNumber(spn);
voiceMailTag = mVmConfig.getVoiceMailTag(spn);
}

4) 在GSMPhone.java (frameworks/base/telephony/java/com/android/internal/telephony/gsm)中的函數handleMessage中的語句case EVENT_SIM_RECORDS_LOADED:中將語句 if (imsi != null && imsiFromSIM != null && !imsiFromSIM.equals(imsi))
{

}
修改為 
復制代碼 代碼如下:

SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getContext());
// 當相應卡槽更換SIM卡后,是否清除用戶對之前SIM卡的VM number設置
boolean clear_if_change_sim = sp.getBoolean(“clear_if_change”, false);
if (clear_if_change_sim && imsi != null && imsiFromSIM != null && !imsiFromSIM.equals(imsi)){
//storeVoiceMailNumber(null);
Log.d(LOG_TAT, “reset vm number because sim changed”);
SharedPreferences.Editor editor = sp.edit();
editor.remove(getVmSimImsi());
editor.apply();
setVmSimImsi(null);
}

5) 將GSMPhone.java中的函數private void storeVoiceMailNumber(String number)中的語句editor.putString(VM_NUMBER+mySimId, number);修改為editor.putString(getSubscriberId(), number); //不再使用卡槽作為保存VM number的單位,而使用IMSI
6) 將GSMPhone.java中的函數public String getVoiceMailNumber()中的語句if (TextUtils.isEmpty(number))修改為 if (TextUtils.isEmpty(number) || ((SIMRecords)mIccRecords).isSetByCountry) //如果SIM卡中
//無VM number或是通過voicemail-conf.xml來設置的,則應該讀取一下Preference,看是否用戶
//對此SIM卡設置過VM number。
并且將語句number = sp.getString(VM_NUMBER+mySimId, null);修改為
復制代碼 代碼如下:

Log.d(LOG_TAG, vm num from simRecords, num= “+number+” is from factory= “+ ((SIMRecords)mIccRecords).isSetbyCountry);
String temp = sp.getString(getSubscriberId(), null);
if (temp != null)
{
Log.d(LOG_TAG, “replace vm num with user defined, num= “+temp);
number = temp;
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色婷婷av一区二区三区久久| 亚洲色图日韩av| 中文字幕少妇一区二区三区| 国产精品电影一区| 色777狠狠综合秋免鲁丝| 亚洲天堂成人在线视频| 国产精品视频精品视频| 国产偷国产偷亚洲清高网站| 在线观看日韩www视频免费| 深夜福利91大全| 高清欧美性猛交| 日本久久久久久| 国产精品99久久久久久www| 欧美激情视频一区| 久久精品国产欧美激情| 欧美大尺度激情区在线播放| 国产成人97精品免费看片| 久久国产精品久久精品| 国产精品jvid在线观看蜜臀| 亚洲区一区二区| 精品国产一区二区三区久久久| 日韩电影中文字幕在线| 国产精品视频播放| 国内精品免费午夜毛片| 国产91色在线|免| 另类专区欧美制服同性| 亚洲人成电影网站色www| 国产亚洲a∨片在线观看| 在线播放精品一区二区三区| 欧美精品www| 成人欧美一区二区三区黑人孕妇| 国产精品久久久久久久一区探花| 欧美日韩亚洲精品一区二区三区| 亚洲成人a级网| 中文字幕亚洲自拍| 日韩欧美视频一区二区三区| 亚洲性生活视频在线观看| 亚洲女人天堂av| 欧美日韩国产一区在线| 亚洲精品视频播放| 日本sm极度另类视频| 国产精品久在线观看| 中文字幕国产亚洲| 综合欧美国产视频二区| 欧美成人高清视频| 亚洲专区在线视频| 欧美激情免费观看| 国产精品欧美在线| 有码中文亚洲精品| 欧美高清视频免费观看| 日韩精品在线观看一区| 午夜精品三级视频福利| 成人精品久久av网站| 亚洲一区二区少妇| 国产精品高潮在线| 国产亚洲精品久久久| 狠狠做深爱婷婷久久综合一区| 中文字幕精品一区二区精品| 亚洲精品视频网上网址在线观看| 亚洲天堂av高清| 91精品啪aⅴ在线观看国产| 亚洲精品久久久久久下一站| 日韩三级成人av网| 欧美在线精品免播放器视频| 久久九九国产精品怡红院| 精品久久久在线观看| 亚洲精品电影网| 国产精品久久久精品| 91高清免费视频| 欧美成人在线免费| 久久99久久99精品中文字幕| 97视频在线播放| 久久中国妇女中文字幕| 欧美成人精品在线| 疯狂做受xxxx高潮欧美日本| 日韩av在线天堂网| 中文字幕久热精品视频在线| 欧美不卡视频一区发布| 米奇精品一区二区三区在线观看| 97久久精品在线| 亚洲护士老师的毛茸茸最新章节| 欧美裸体xxxx极品少妇| 久久久视频精品| 欧美疯狂xxxx大交乱88av| 日韩在线免费视频| 欧美激情极品视频| 亚洲欧美日韩综合| 欧美久久久精品| 在线观看中文字幕亚洲| 亚洲第一av网站| 亚洲国产成人在线播放| 俺也去精品视频在线观看| 欧美日韩国产精品一区二区不卡中文| 在线视频欧美日韩| 美女999久久久精品视频| 久久精品99久久久香蕉| 亚洲高清色综合| 91精品久久久久久综合乱菊| 国产精品99久久久久久人| 亚洲直播在线一区| 亚洲欧美国产一本综合首页| 自拍偷拍亚洲在线| 91高清视频免费观看| 国产精品mp4| 欧美亚洲国产成人精品| 欧美一乱一性一交一视频| 97精品久久久中文字幕免费| 一区国产精品视频| 亚洲精品v欧美精品v日韩精品| 久久韩剧网电视剧| 久久免费高清视频| 欧美在线中文字幕| 欧美激情精品久久久久久久变态| 91在线观看免费高清完整版在线观看| 欧美激情中文字幕乱码免费| 国产成+人+综合+亚洲欧洲| 国产精品久久久久国产a级| 欧美日韩中国免费专区在线看| 亚洲男人的天堂在线| 欧美高清不卡在线| 亚洲专区在线视频| 日韩成人在线视频| 在线观看国产精品日韩av| 亚洲最大的免费| 亚洲影视九九影院在线观看| 欧美高清videos高潮hd| 91精品视频一区| 精品国产999| 国产精品中文字幕久久久| 亚洲一区二区三区在线免费观看| 日韩美女免费视频| 美日韩丰满少妇在线观看| 一区二区欧美亚洲| 俺也去精品视频在线观看| 久久久久久久久国产| 国产精品免费网站| 少妇激情综合网| 亚洲成人久久一区| 久久久久www| 亚洲全黄一级网站| 亚洲激情在线视频| 日韩成人在线免费观看| 亚洲摸下面视频| 日韩国产一区三区| 色婷婷av一区二区三区久久| 国产午夜精品全部视频播放| 日韩中文字幕亚洲| 日韩在线免费高清视频| 日韩精品久久久久| 国产精品福利无圣光在线一区| 57pao成人永久免费视频| 日本成人在线视频网址| 久久久国产91| 日韩中文字幕网站| 国产福利视频一区| 国产精品自产拍在线观看中文| 国产精品久久久久久五月尺| 精品丝袜一区二区三区| 欧美成人免费大片| 日韩精品视频免费在线观看| 欧美激情一级欧美精品| 久久久久这里只有精品| 国产精品亚洲自拍| 久久这里有精品视频|