本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種IMS注冊狀態(tài)更新上報方法與裝置。
背景技術(shù):
VoLTE(Voice over LTE)是架構(gòu)于LTE網(wǎng)絡(luò)中基于IMS的語音業(yè)務(wù),當(dāng)在支持VoLTE功能的手機中插入VoLTE卡作為數(shù)據(jù)卡,并且開啟VoLTE開關(guān)后,手機進(jìn)行IMS(IP Multimedia Subsystem,IP多媒體子系統(tǒng))網(wǎng)絡(luò)注冊,當(dāng)IMS網(wǎng)絡(luò)注冊成功后,更新VoLTE開關(guān)信息至IMS服務(wù)緩存中,進(jìn)而更新IMS服務(wù)緩存的注冊狀態(tài)信息并將注冊狀態(tài)信息上報,以使通知狀態(tài)欄顯示HD(High Definition,高清)圖標(biāo),HD圖標(biāo)是VoLTE高清語音通話功能圖標(biāo),顯示HD圖標(biāo)表示手機注冊上了IMS服務(wù),可以使用VoLTE高清語音。
但當(dāng)用戶對VoLTE卡進(jìn)行熱插拔后,開啟或關(guān)閉VoLTE開關(guān),可能出現(xiàn)無法將VoLTE開關(guān)開啟或關(guān)閉的信息更新到IMS服務(wù)緩存中,導(dǎo)致IMS服務(wù)緩存的注冊狀態(tài)無法及時更新與上報,進(jìn)而導(dǎo)致通知欄不能正常顯示HD圖標(biāo),造成HD圖標(biāo)顯示不準(zhǔn)確。
技術(shù)實現(xiàn)要素:
基于此,有必要針對上述問題,提供一種提高HD圖標(biāo)顯示準(zhǔn)確性的IMS注冊狀態(tài)更新上報方法與裝置。
一種IMS注冊狀態(tài)更新上報方法,包括:
獲取VoLTE開關(guān)狀態(tài)變化信息并發(fā)送至IMS服務(wù)緩存;
所述IMS服務(wù)緩存接收到所述VoLTE開關(guān)狀態(tài)變化信息后,更新所述IMS的注冊狀態(tài)并上報至狀態(tài)欄模塊;
所述狀態(tài)欄模塊根據(jù)所述IMS的注冊狀態(tài)控制HD圖標(biāo)顯示或隱藏。
在其中一個實施例中,所述更新所述IMS的注冊狀態(tài)并上報至狀態(tài)欄模塊,包括:
獲取所述IMS服務(wù)緩存的配置參數(shù),所述配置參數(shù)包括所述VoLTE開關(guān)狀態(tài)參數(shù)和IMS網(wǎng)絡(luò)注冊參數(shù);
根據(jù)所述VoLTE開關(guān)狀態(tài)參數(shù)和所述IMS網(wǎng)絡(luò)注冊參數(shù)更新所述IMS的注冊狀態(tài)并上報至狀態(tài)欄模塊。
在其中一個實施例中,所述根據(jù)所述VoLTE開關(guān)狀態(tài)參數(shù)和所述IMS網(wǎng)絡(luò)注冊參數(shù)更新所述IMS的注冊狀態(tài)并上報至狀態(tài)欄模塊,包括:
根據(jù)所述VoLTE開關(guān)狀態(tài)參數(shù)判斷所述VoLTE開關(guān)狀態(tài)是否為開啟狀態(tài);
若所述VoLTE開關(guān)狀態(tài)不是開啟狀態(tài),則更新所述IMS的注冊狀態(tài)為未注冊狀態(tài);
若所述VoLTE開關(guān)狀態(tài)為開啟狀態(tài),則根據(jù)所述IMS網(wǎng)絡(luò)注冊參數(shù)判斷IMS網(wǎng)絡(luò)是否注冊成功;
若所述IMS網(wǎng)絡(luò)沒有注冊成功,則更新所述IMS的注冊狀態(tài)為未注冊狀態(tài);
若所述IMS網(wǎng)絡(luò)注冊成功,則更新所述IMS的注冊狀態(tài)為已注冊狀態(tài);
將更新后的所述IMS的注冊狀態(tài)上報至狀態(tài)欄模塊。
在其中一個實施例中,所述狀態(tài)欄模塊根據(jù)所述IMS的注冊狀態(tài)控制HD圖標(biāo)顯示或隱藏,包括:
當(dāng)所述IMS的注冊狀態(tài)為已注冊狀態(tài)時,所述狀態(tài)欄模塊控制所述HD圖標(biāo)顯示;
當(dāng)所述IMS的注冊狀態(tài)為未注冊狀態(tài)時,所述狀態(tài)欄模塊控制所述HD圖標(biāo)隱藏。
在其中一個實施例中,所述IMS注冊狀態(tài)更新上報方法還包括:
檢測VoLTE開關(guān)狀態(tài)是否發(fā)生變化;
當(dāng)檢測到VoLTE開關(guān)狀態(tài)發(fā)生變化時,獲取VoLTE開關(guān)狀態(tài)變化信息。
一種IMS注冊狀態(tài)更新上報裝置,包括:
獲取模塊,用于獲取VoLTE開關(guān)狀態(tài)變化信息并發(fā)送至IMS服務(wù)緩存;
更新上報模塊,用于所述IMS服務(wù)緩存接收到所述VoLTE開關(guān)狀態(tài)變化信息后,更新所述IMS的注冊狀態(tài)并上報至狀態(tài)欄模塊;
控制模塊,用于所述狀態(tài)欄模塊根據(jù)所述IMS的注冊狀態(tài)控制HD圖標(biāo)顯示或隱藏。
在其中一個實施例中,所述更新上報模塊還用于獲取所述IMS服務(wù)緩存的配置參數(shù),所述配置參數(shù)包括所述VoLTE開關(guān)狀態(tài)參數(shù)和IMS網(wǎng)絡(luò)注冊參數(shù);根據(jù)所述VoLTE開關(guān)狀態(tài)參數(shù)和所述IMS網(wǎng)絡(luò)注冊參數(shù)更新所述IMS的注冊狀態(tài)并上報至狀態(tài)欄模塊。
在其中一個實施例中,所述更新上報模塊包括:
第一判斷模塊,用于根據(jù)所述VoLTE開關(guān)狀態(tài)參數(shù)判斷所述VoLTE開關(guān)狀態(tài)是否為開啟狀態(tài);
更新模塊,用于若所述VoLTE開關(guān)狀態(tài)不是開啟狀態(tài),則更新所述IMS的注冊狀態(tài)為未注冊狀態(tài);
第二判斷模塊,用于若所述VoLTE開關(guān)狀態(tài)為開啟狀態(tài),則根據(jù)所述IMS網(wǎng)絡(luò)注冊參數(shù)判斷IMS網(wǎng)絡(luò)是否注冊成功;
更新模塊,用于若所述IMS網(wǎng)絡(luò)沒有注冊成功,則更新所述IMS的注冊狀態(tài)為未注冊狀態(tài);若所述IMS網(wǎng)絡(luò)注冊成功,則更新所述IMS的注冊狀態(tài)為已注冊狀態(tài);
上報模塊,用于將更新后的所述IMS的注冊狀態(tài)上報至狀態(tài)欄模塊。
在其中一個實施例中,所述控制模塊用于當(dāng)所述IMS的注冊狀態(tài)為已注冊狀態(tài)時,所述狀態(tài)欄模塊控制所述HD圖標(biāo)顯示;當(dāng)所述IMS的注冊狀態(tài)為未注冊狀態(tài)時,所述狀態(tài)欄模塊控制所述HD圖標(biāo)隱藏。
在其中一個實施例中,所述獲取模塊還用于檢測VoLTE開關(guān)狀態(tài)是否發(fā)生變化;當(dāng)檢測到VoLTE開關(guān)狀態(tài)發(fā)生變化時,獲取VoLTE開關(guān)狀態(tài)變化信息。
上述IMS注冊狀態(tài)更新上報方法和裝置,通過獲取VoLTE開關(guān)狀態(tài)的變化信息并上報至IMS服務(wù)緩存,控制更新IMS的注冊狀態(tài),并在更新狀態(tài)后上報至狀態(tài)欄模塊,以使?fàn)顟B(tài)欄模塊控制HD圖標(biāo)的顯示狀態(tài)。通過獲取VoLTE開關(guān)狀態(tài)變化信息控制更新IMS的注冊狀態(tài),使得當(dāng)打開或者關(guān)閉VoLTE開關(guān)時,能夠及時準(zhǔn)確更新IMS的注冊狀態(tài),從而提高了HD圖標(biāo)顯示的準(zhǔn)確性。
附圖說明
圖1為一個實施例中IMS注冊狀態(tài)更新上報方法流程圖;
圖2為一個實施例中IMS的注冊狀態(tài)更新的步驟流程圖;
圖3為另一個實施例中IMS的注冊狀態(tài)更新的步驟具體流程圖;
圖4為另一個實施例中IMS注冊狀態(tài)更新上報方法流程圖;
圖5為一個實施例中IMS注冊狀態(tài)更新上報裝置結(jié)構(gòu)圖;
圖6為一個實施例中更新上報模塊結(jié)構(gòu)圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,在一個實施例中,提供一種IMS注冊狀態(tài)更新上報方法,該方法包括以下內(nèi)容:
步驟110,獲取VoLTE開關(guān)狀態(tài)變化信息并發(fā)送至IMS服務(wù)緩存。
本實施例中,獲取VoLTE開關(guān)狀態(tài)變化消息并且該消息發(fā)送至IMS服務(wù)緩存,通知IMS服務(wù)緩存VoLTE開關(guān)狀態(tài)發(fā)生變化。這里所說的IMS服務(wù)緩存用來緩存IMS服務(wù)的注冊狀態(tài)信息,IMS服務(wù)緩存的注冊狀態(tài)信息用來反映VoLTE功能能否使用。
步驟120,IMS服務(wù)緩存接收到VoLTE開關(guān)狀態(tài)變化信息后,更新IMS的注冊狀態(tài)并上報至狀態(tài)欄模塊。
本實施例中,不同的VoLTE開關(guān)狀態(tài)對應(yīng)不同的IMS的注冊狀態(tài),當(dāng)IMS服務(wù)緩存接收到VoLTE開關(guān)狀態(tài)變化信息后,根據(jù)變化后的VoLTE開關(guān)狀態(tài)更新對應(yīng)的IMS的注冊狀態(tài),并將更新后的IMS的注冊狀態(tài)上報至狀態(tài)欄模塊。
步驟130,狀態(tài)欄根據(jù)IMS的注冊狀態(tài)控制HD圖標(biāo)顯示或隱藏。
本實施例中,HD(High Definition,高清)圖標(biāo)是VoLTE高清語音通話功能的功能圖標(biāo),當(dāng)狀態(tài)欄顯示HD圖標(biāo)時,說明VoLTE高清語音通話功能可以使用,當(dāng)狀態(tài)欄沒有顯示HD圖標(biāo)時,說明VoLTE高清語音通話功能不可以使用。VoLTE高清語音通話功能與IMS網(wǎng)路服務(wù)相關(guān),即與IMS的注冊狀態(tài)相關(guān),因此狀態(tài)欄根據(jù)接收到的IMS的注冊狀態(tài)對HD圖標(biāo)進(jìn)行控制,根據(jù)IMS的注冊狀態(tài)的具體信息控制HD圖標(biāo)的顯示或隱藏。
上述IMS注冊狀態(tài)更新上報方法,當(dāng)檢測到VoLTE開關(guān)狀態(tài)發(fā)生變化時,上報至IMS服務(wù)緩存,IMS服務(wù)緩存根據(jù)VoLTE開關(guān)狀態(tài)的變化更新IMS服務(wù)緩存的注冊狀態(tài)并上報至狀態(tài)欄,以使?fàn)顟B(tài)欄控制HD圖標(biāo)的顯示或隱藏。通過對VoLTE開關(guān)狀態(tài)的檢測,保證及時更新對應(yīng)的IMS服務(wù)緩存注冊狀態(tài),進(jìn)而使?fàn)顟B(tài)欄能夠根據(jù)及時正確的反饋的注冊狀態(tài)信息正確的控制HD圖標(biāo)的顯示或隱藏,提高了HD圖標(biāo)顯示的正確性。
在一個實施例中,更新IMS的注冊狀態(tài)并上報至狀態(tài)欄模塊,包括:
獲取IMS服務(wù)緩存的配置參數(shù),所述配置參數(shù)包括VoLTE開關(guān)狀態(tài)參數(shù)和IMS網(wǎng)絡(luò)注冊參數(shù);根據(jù)VoLTE開關(guān)狀態(tài)參數(shù)和IMS網(wǎng)絡(luò)注冊參數(shù)更新IMS的注冊狀態(tài)并上報至狀態(tài)欄模塊。
本實施例中,VoLTE開關(guān)狀態(tài)變化會直接影響VoLTE高清語音通話功能的使用,因此當(dāng)IMS服務(wù)緩存接收VoLTE開關(guān)狀態(tài)變化信息時,根據(jù)反映VoLTE高清語音通話功能的參數(shù),更新IMS的注冊狀態(tài)信息。IMS服務(wù)緩存中包括多個反映IMS網(wǎng)絡(luò)服務(wù)的配置參數(shù),如VoLTE開關(guān)狀態(tài)參數(shù)和IMS網(wǎng)絡(luò)注冊參數(shù),當(dāng)VoLTE開關(guān)狀態(tài)發(fā)生變化時,VoLTE開關(guān)狀態(tài)參數(shù)和IMS網(wǎng)絡(luò)注冊參數(shù)發(fā)生相應(yīng)改變,因此可以利用VoLTE開關(guān)狀態(tài)參數(shù)判斷VoLTE開關(guān)狀態(tài)發(fā)生變化后的狀態(tài),利用IMS網(wǎng)絡(luò)注冊參數(shù)判斷此時IMS網(wǎng)絡(luò)服務(wù)是否能夠使用,從而判斷此時VoLTE高清語音通話功能能否正常使用,并更新IMS的注冊狀態(tài)上報至狀態(tài)欄模塊,以使?fàn)顟B(tài)欄模塊根據(jù)IMS的注冊狀態(tài)更新HD圖標(biāo)。
如圖2所示,在一個實施例中,提供一種IMS服務(wù)緩存的注冊狀態(tài)更新上報的步驟,包括以下內(nèi)容:
步驟210,根據(jù)VoLTE開關(guān)狀態(tài)參數(shù)判斷VoLTE開關(guān)狀態(tài)是否為開啟狀態(tài)。
本實施例中,VoLTE開關(guān)狀態(tài)包括開啟狀態(tài)和關(guān)閉狀態(tài),當(dāng)VoLTE開關(guān)狀態(tài)為開啟狀態(tài)時,為了實現(xiàn)高清語音通話功能VoLTE卡發(fā)起IMS網(wǎng)絡(luò)注冊,也即在用戶打開VoLTE開關(guān)的情況下,VoLTE卡注冊IMS網(wǎng)絡(luò),從而使用VoLTE高清語音通話功能。IMS服務(wù)緩存接收到VoLTE開關(guān)狀態(tài)變化消息后,獲取此時對應(yīng)的IMS網(wǎng)絡(luò)配置參數(shù)中的VoLTE開關(guān)狀態(tài)參數(shù),通過VoLTE開關(guān)狀態(tài)參數(shù)判斷VoLTE開關(guān)狀態(tài)是否為開啟狀態(tài)。
步驟220,若VoLTE開關(guān)狀態(tài)不是開啟狀態(tài),則更新IMS的注冊狀態(tài)為未注冊狀態(tài)。
本實施例中,當(dāng)根據(jù)VoLTE開關(guān)狀態(tài)參數(shù)判斷變化后的VoLTE開關(guān)狀態(tài)不是開啟狀態(tài)時,說明此時VoLTE卡無法注冊IMS網(wǎng)絡(luò),VoLTE高清語音通話功能未開啟,更新IMS的注冊狀態(tài)為未注冊狀態(tài)。
步驟230,若VoLTE開關(guān)狀態(tài)為開啟狀態(tài),則根據(jù)IMS網(wǎng)絡(luò)注冊參數(shù)判斷IMS網(wǎng)絡(luò)是否注冊成功。
本實施例中,當(dāng)根據(jù)VoLTE開關(guān)狀態(tài)參數(shù)判斷變化后的VoLTE開關(guān)狀態(tài)為開啟狀態(tài)時,說明此時VoLTE卡能夠?qū)MS網(wǎng)絡(luò)發(fā)起注冊,但當(dāng)VoLTE為數(shù)據(jù)卡時,才能使用IMS網(wǎng)絡(luò)服務(wù)進(jìn)行高清語音通話,因此當(dāng)打開VoLTE開關(guān)但VoLTE卡不是數(shù)據(jù)卡時,IMS網(wǎng)絡(luò)無法使用;或者VoLTE卡作為數(shù)據(jù)向IMS網(wǎng)絡(luò)發(fā)起注冊請求,但I(xiàn)MS網(wǎng)絡(luò)無法提供服務(wù)。因此在打開VoLTE開關(guān)之后,根據(jù)IMS網(wǎng)絡(luò)注冊參數(shù)判斷IMS網(wǎng)絡(luò)是否成功注冊即IMS網(wǎng)絡(luò)是否能夠提供服務(wù)。
步驟240,若IMS網(wǎng)絡(luò)沒有注冊成功,則更新IMS的注冊狀態(tài)為未注冊狀態(tài)。
本實施例中,若根據(jù)IMS網(wǎng)絡(luò)注冊參數(shù)判斷IMS網(wǎng)絡(luò)注冊失敗,則說明此時VoLTE卡不能提供高清語音通話功能,因此更新IMS的注冊狀態(tài)為未注冊狀態(tài)。
步驟250,若IMS網(wǎng)絡(luò)注冊成功,則更新IMS的注冊狀態(tài)為已注冊狀態(tài)。
若根據(jù)IMS網(wǎng)絡(luò)注冊參數(shù)判斷IMS網(wǎng)絡(luò)注冊成功,則說明此時VoLTE卡能夠提供高清語音通話功能,更新IMS的注冊狀態(tài)為注冊狀態(tài)。
步驟260,將更新后的IMS的注冊狀態(tài)上報至狀態(tài)欄模塊。
本實施例中,根據(jù)不同的情況對應(yīng)更新相應(yīng)的IMS的注冊狀態(tài),將最終更新的IMS服務(wù)緩存的注冊狀態(tài)上報至狀態(tài)欄模塊,以使?fàn)顟B(tài)欄模塊根據(jù)更新后的IMS的注冊狀態(tài)判斷此時的VoLTE高清語音通話功能是否能夠正常使用,從而對HD圖標(biāo)進(jìn)行顯示或隱藏。
如圖3所示,在一個實施例中,提供一種IMS服務(wù)緩存的注冊狀態(tài)更新上報的具體步驟:
步驟310,當(dāng)收到key_switch_volte消息時,獲取IMS配置參數(shù)ims_test_mode_valid和ims_test_mode。
本實施例中,當(dāng)用戶打開或者關(guān)閉開關(guān)時,產(chǎn)生key_switch_volte消息,Modem(調(diào)制解調(diào)器)將該消息上傳至RIL(無線接口層),RIL上報至framework(架構(gòu)),IMS服務(wù)緩存從framework獲取上傳的key_switch_volte消息。當(dāng)IMS服務(wù)緩存收到key_switch_volte消息時,獲取IMS配置參數(shù)ims_test_mode_valid和ims_test_mode。ims_test_mode_valid用來反映VoLTE開關(guān)狀態(tài),ims_test_mode用來反映VoLTE卡IMS網(wǎng)絡(luò)是否成功注冊,即IMS網(wǎng)絡(luò)服務(wù)是否可用。
步驟320,判斷ims_test_mode_valid是否為true,若是,則執(zhí)行步驟330,若否,則執(zhí)行步驟350。
本實施例中,當(dāng)ims_test_mode_valid為true時,代表VoLTE開關(guān)狀態(tài)為開啟狀態(tài);當(dāng)ims_test_mode_valid為false時,代表VoLTE開關(guān)狀態(tài)為關(guān)閉狀態(tài)。因此當(dāng)檢測到ims_test_mode_valid為true時,說明此時用戶打開了VoLTE開關(guān),VoLTE卡發(fā)起IMS網(wǎng)絡(luò)注冊請求,執(zhí)行步驟330。當(dāng)檢測到ims_test_mode_valid為false時,說明此時用戶關(guān)閉了VoLTE開關(guān),此時VoLTE卡不能對IMS網(wǎng)絡(luò)發(fā)起注冊請求,執(zhí)行步驟350。
步驟330,判斷ims_test_mode是否為false,若是,則執(zhí)行步驟340,若否,則執(zhí)行步驟350。
本實施例中,當(dāng)ims_test_mode為false時,代表IMS網(wǎng)絡(luò)注冊成功即IMS網(wǎng)絡(luò)服務(wù)可用;當(dāng)ims_test_mode為true時,代表IMS網(wǎng)絡(luò)注冊失敗即IMS網(wǎng)絡(luò)服務(wù)不可用。因此在檢測到VoLTE開關(guān)開啟的狀態(tài)下,當(dāng)檢測到ims_test_mode為false時,說明VoLTE卡成功注冊IMS網(wǎng)絡(luò),執(zhí)行步驟340,當(dāng)檢測到ims_test_mode為true時,說明VoLTE卡注冊IMS網(wǎng)絡(luò)失敗,執(zhí)行步驟350。
步驟340,更新IMS的注冊狀態(tài)信息為REGISTERED。
本實施例中,當(dāng)檢測到ims_test_mode_valid為true且ims_test_mode為false時,即檢測到用戶打開了VoLTE開關(guān)并且成功注冊IMS網(wǎng)絡(luò),則更新IMS的注冊狀態(tài)信息為REGISTERED,即更新IMS的注冊狀態(tài)為已注冊狀態(tài)。
步驟350,更新IMS的注冊狀態(tài)信息為NOT_REGISTERED。
本實施例中,當(dāng)檢測到ims_test_mode_valid為false或ims_test_mode_valid為true且ims_test_mode為true時,即檢測到用戶關(guān)閉了VoLTE開關(guān)或者檢測到用戶打開了VoLTE開關(guān)但是未成功注冊IMS網(wǎng)絡(luò),則更新IMS的注冊狀態(tài)信息為NOT_REGISTERED,即更新IMS的注冊狀態(tài)為未注冊狀態(tài)。
步驟360,發(fā)送UNSOL_SRV_STATUS_UPDATE消息至狀態(tài)欄模塊。
本實施例中,當(dāng)根據(jù)步驟340或者步驟350更新了IMS的注冊狀態(tài)信息后,Modem將更新的注冊狀態(tài)信息以UNSOL_SRV_STATUS_UPDATE消息的形式通過RIL,由RIL上報至framework,狀態(tài)欄模塊從framework中獲取更新狀態(tài)消息并進(jìn)行更新,這里的狀態(tài)欄模塊是指能夠接收處理消息的狀態(tài)欄應(yīng)用,能夠控制通知狀態(tài)欄顯示HD圖標(biāo)。
在一個實施例中,狀態(tài)欄模塊根據(jù)IMS的注冊狀態(tài)控制HD圖標(biāo)顯示或隱藏,包括:當(dāng)IMS的注冊狀態(tài)為已注冊狀態(tài)時,狀態(tài)欄模塊控制所述HD圖標(biāo)顯示;當(dāng)IMS的注冊狀態(tài)為未注冊狀態(tài)時,所述狀態(tài)欄模塊控制所述HD圖標(biāo)隱藏。
本實施例中,當(dāng)根據(jù)VoLTE開關(guān)狀態(tài)變化更新的IMS的注冊狀態(tài)為已注冊狀態(tài)時,說明VoLTE卡注冊IMS網(wǎng)絡(luò)成功,VoLTE高清通話功能能夠使用,因此狀態(tài)欄顯示對應(yīng)的HD圖標(biāo);當(dāng)根據(jù)VoLTE開關(guān)狀態(tài)變化更新的IMS的注冊狀態(tài)為未注冊狀態(tài)時,說明VoLTE卡注冊IMS網(wǎng)絡(luò)失敗,VoLTE高清通話功能不能使用,因此狀態(tài)欄隱藏對應(yīng)的HD圖標(biāo)。
在一個實施例中,IMS注冊狀態(tài)更新上報方法還包括:檢測VoLTE開關(guān)狀態(tài)是否發(fā)生變化;當(dāng)檢測到VoLTE開關(guān)狀態(tài)發(fā)生變化時,獲取VoLTE開關(guān)狀態(tài)變化信息。
本實施例中,VoLTE開關(guān)狀態(tài)包括開啟狀態(tài)和關(guān)閉狀態(tài),分別對應(yīng)VoLTE功能開啟或者關(guān)閉。預(yù)先設(shè)置開關(guān)響應(yīng)事件,當(dāng)用戶開啟或者關(guān)閉VoLTE開關(guān)時觸發(fā)該響應(yīng)事件,從而檢測出VoLTE開關(guān)狀態(tài)是否發(fā)生變化。VoLTE開關(guān)狀態(tài)對應(yīng)VoLTE功能能否使用,當(dāng)VoLTE開關(guān)狀態(tài)發(fā)生變化時,說明此時VoLTE功能使用情況發(fā)生變化。因此當(dāng)檢測到VoLTE開關(guān)狀態(tài)發(fā)生變化時,即說明開關(guān)響應(yīng)事件被觸發(fā),獲取此時的VoLTE開關(guān)狀態(tài)變化信息。
如圖4所示,在一個實施例中,提供一種IMS注冊狀態(tài)更新上報方法,包括以下內(nèi)容:
步驟410,檢測VoLTE開關(guān)狀態(tài)是否發(fā)生改變。
本實施例中,VoLTE開關(guān)狀態(tài)包括開啟狀態(tài)和關(guān)閉狀態(tài),當(dāng)用戶打開或者關(guān)閉VoLTE開關(guān)時,VoLTE開關(guān)狀態(tài)會發(fā)生改變,因此通過檢測開關(guān)狀態(tài)是否發(fā)生變化確定是否需要更新VoLTE功能圖標(biāo)即HD圖標(biāo)的狀態(tài)。
具體的,預(yù)先設(shè)置開關(guān)響應(yīng)事件,當(dāng)用戶開啟或者關(guān)閉VoLTE開關(guān)時,觸發(fā)開關(guān)響應(yīng)事件,產(chǎn)生開關(guān)狀態(tài)變化消息從而檢測VoLTE開關(guān)狀態(tài)是否發(fā)生改變。
步驟420,當(dāng)檢測到VoLTE開關(guān)狀態(tài)發(fā)生改變時,獲取VoLTE開關(guān)狀態(tài)變化信息并發(fā)送至IMS服務(wù)緩存。
本實施例中,當(dāng)檢測到VoLTE開關(guān)狀態(tài)發(fā)生改變時,獲取VoLTE開關(guān)狀態(tài)變化信息并將該狀態(tài)變化信息發(fā)送至IMS服務(wù)緩存,以提醒IMS服務(wù)緩存VoLTE開關(guān)狀態(tài)發(fā)生改變,及時更新對應(yīng)的IMS的注冊狀態(tài)。
具體的,當(dāng)用戶打開或者關(guān)閉VoLTE開關(guān)時,產(chǎn)生key_switch_volte消息即VoLTE開關(guān)狀態(tài)變化消息,Modem將該消息發(fā)送給RIL,RIL獲取消息后上報至framework,IMS服務(wù)緩存從framework中獲取key_switch_volte消息,對IMS服務(wù)參數(shù)進(jìn)行解析,及時更新IMS的注冊狀態(tài)。
步驟430,IMS服務(wù)緩存接收到VoLTE開關(guān)狀態(tài)變化信息后,獲取IMS服務(wù)緩存的配置參數(shù),配置參數(shù)包括VoLTE開關(guān)狀態(tài)參數(shù)和IMS網(wǎng)絡(luò)注冊參數(shù)。
本實施例中,IMS服務(wù)緩存接收到VoLTE開關(guān)狀態(tài)變化的信息后,獲取VoLTE開關(guān)變化后的狀態(tài),即確定此時VoLTE開關(guān)處于開啟還是關(guān)閉狀態(tài)。通過獲取IMS配置參數(shù)中的VoLTE開關(guān)狀態(tài)參數(shù)和IMS網(wǎng)絡(luò)注冊參數(shù)判斷此時開關(guān)狀態(tài)和IMS網(wǎng)絡(luò)注冊狀態(tài)。
具體的,當(dāng)IMS收到key_switch_volte消息時,獲取此時IMS配置參數(shù)中用來反映VoLTE開關(guān)狀態(tài)的參數(shù)ims_test_mode_valid以及用來反映IMS網(wǎng)絡(luò)注冊狀態(tài)的參數(shù)ims_test_mode。
步驟440,根據(jù)VoLTE開關(guān)狀態(tài)參數(shù)判斷VoLTE開關(guān)狀態(tài)是否為開啟狀態(tài),若否,則執(zhí)行步驟470,若是,則執(zhí)行步驟450。
本實施例中,VoLTE開關(guān)狀態(tài)包括開啟狀態(tài)和關(guān)閉狀態(tài)。通過VoLTE開關(guān)狀態(tài)參數(shù)判斷VoLTE開關(guān)狀態(tài)發(fā)生改變之后的VoLTE開關(guān)狀態(tài)是開啟狀態(tài)還是關(guān)閉狀態(tài)。當(dāng)改變后的VoLTE開關(guān)狀態(tài)為開啟狀態(tài)時,說明用戶打開了VoLTE開關(guān),此時VoLTE卡向IMS網(wǎng)絡(luò)發(fā)起注冊請求,執(zhí)行步驟450;當(dāng)改變后的VoLTE開關(guān)狀態(tài)為關(guān)閉狀態(tài)時,無法使用VoLTE語音功能,VoLTE卡不會向IMS網(wǎng)絡(luò)發(fā)起注冊請求,執(zhí)行步驟470。
具體的,當(dāng)檢測到ims_test_mode_valid為true時,VoLTE開關(guān)狀態(tài)為開啟狀態(tài),說明開關(guān)狀態(tài)改變是由于用戶打開了VoLTE開關(guān),此時VoLTE卡向IMS網(wǎng)絡(luò)發(fā)起注冊請求,執(zhí)行步驟450;當(dāng)檢測到ims_test_mode_valid為false時,說明VoLTE開關(guān)狀態(tài)為關(guān)閉狀態(tài),即檢測到的VoLTE開關(guān)狀態(tài)改變是用戶關(guān)閉了VoLTE開關(guān),此時無法使用VoLTE高清通話功能,執(zhí)行步驟470。
步驟450,根據(jù)IMS網(wǎng)絡(luò)注冊參數(shù)判斷IMS網(wǎng)絡(luò)是否注冊成功,若否,則執(zhí)行步驟470,若是,則執(zhí)行步驟460。
本實施例中,當(dāng)VoLTE卡作為數(shù)據(jù)卡時,打開VoLTE開關(guān)后,VoLTE卡才會向IMS網(wǎng)絡(luò)發(fā)起注冊,當(dāng)IMS網(wǎng)絡(luò)注冊成功時,能夠正常使用VoLTE高清通話功能,因此當(dāng)根據(jù)VoLTE開關(guān)狀態(tài)參數(shù)判斷VoLTE開關(guān)狀態(tài)為打開狀態(tài)時,根據(jù)IMS網(wǎng)絡(luò)注冊參數(shù)判斷IMS網(wǎng)絡(luò)是否注冊成功,如果注冊成功,則說明此時VoLTE作為數(shù)據(jù)卡能夠?qū)崿F(xiàn)高清通話功能,執(zhí)行步驟460;如果注冊失敗,則說明此時VoLTE沒有作為數(shù)據(jù)卡或者IMS網(wǎng)絡(luò)服務(wù)不能使用,則執(zhí)行步驟470。
具體的,在ims_test_mode_valid為true的前提下,判斷ims_test_mode是否為false,若是,則說明用戶開啟了VoLTE開關(guān)且將VoLTE卡作為數(shù)據(jù)卡成功注冊了IMS網(wǎng)絡(luò)服務(wù),VoLTE高清通話功能可以使用,執(zhí)行步驟460;若否,則說明IMS網(wǎng)絡(luò)注冊失敗,即可能此時VoLTE卡沒有被作為數(shù)據(jù)卡使用,無法正常使用VoLTE高清通話功能,執(zhí)行步驟470。
步驟460,更新IMS的注冊狀態(tài)為已注冊狀態(tài),然后執(zhí)行步驟480。
本實施例中,當(dāng)根據(jù)VoLTE開關(guān)狀態(tài)參數(shù)判斷VoLTE開關(guān)狀態(tài)為開啟狀態(tài)同時根據(jù)IMS網(wǎng)絡(luò)注冊參數(shù)判斷IMS網(wǎng)絡(luò)注冊成功,則此時VoLTE高清通話功能可以正常使用,更新IMS的注冊狀態(tài)為已注冊狀態(tài),然后執(zhí)行步驟480。
具體的,當(dāng)判斷ims_test_mode_valid為true同時ims_test_mode為false時,此時IMS網(wǎng)絡(luò)服務(wù)可用即可以正常使用VoLTE高清語音通話功能,更新IMS的注冊狀態(tài)為已注冊狀態(tài),對應(yīng)的注冊狀態(tài)信息為REGISTERED,然后執(zhí)行步驟480。
步驟470,更新IMS的注冊狀態(tài)為未注冊狀態(tài)。
本實施例中,當(dāng)通過VoLTE開關(guān)狀態(tài)參數(shù)判斷VoLTE開關(guān)狀態(tài)為關(guān)閉狀態(tài)時,即用戶關(guān)閉了VoLTE開關(guān),此時無法對IMS網(wǎng)絡(luò)發(fā)起注冊,即IMS網(wǎng)絡(luò)未注冊,因此更新IMS的注冊狀態(tài)為未注冊狀態(tài)?;蛘弋?dāng)用戶打開了VoLTE開關(guān),但是IMS網(wǎng)絡(luò)注冊未成功,則此時IMS網(wǎng)絡(luò)服務(wù)無法使用,更新IMS的注冊狀態(tài)為未注冊狀態(tài)。
具體的,當(dāng)檢測到ims_test_mode_valid為false時,即關(guān)閉VoLTE開關(guān),VoLTE卡不會向IMS網(wǎng)絡(luò)發(fā)起注冊請求,更新IMS的注冊狀態(tài)為未注冊狀態(tài)。或者當(dāng)檢測到ims_test_mode_valid為true且ims_test_mode為false時,說明開啟VoLTE開關(guān)后,IMS網(wǎng)絡(luò)未注冊成功,無法正常提供IMS網(wǎng)絡(luò)服務(wù),更新IMS的注冊狀態(tài)為未注冊狀態(tài),對應(yīng)的注冊狀態(tài)信息為NOT_REGISTERED。
步驟480,將更新后的IMS的注冊狀態(tài)上報至狀態(tài)欄模塊。
本實施例中,IMS服務(wù)緩存根據(jù)IMS配置參數(shù)中的VoLTE開關(guān)狀態(tài)參數(shù)以及IMS網(wǎng)絡(luò)注冊參數(shù)更新IMS的注冊狀態(tài),更新完成后將IMS的注冊狀態(tài)信息上報至狀態(tài)欄模塊,以使?fàn)顟B(tài)欄模塊及時對HD圖標(biāo)狀態(tài)進(jìn)行更新。
具體的,IMS服務(wù)緩存更新注冊狀態(tài)之后,Modem將更新的注冊狀態(tài)信息以UNSOL_SRV_STATUS_UPDATE消息的形式通過RIL,由RIL上報至framework,狀態(tài)欄模塊從framework中獲取更新狀態(tài)消息并進(jìn)行更新,這里的狀態(tài)欄模塊是指能夠接收處理消息的狀態(tài)欄應(yīng)用,狀態(tài)欄應(yīng)用能夠控制通知狀態(tài)欄顯示HD圖標(biāo)。
步驟490,當(dāng)IMS的注冊狀態(tài)為未注冊狀態(tài)時,狀態(tài)欄隱藏HD圖標(biāo);當(dāng)IMS的注冊狀態(tài)為已注冊狀態(tài)時,狀態(tài)欄顯示HD圖標(biāo)。
本實施例中,狀態(tài)欄接收IMS服務(wù)緩存發(fā)送的更新的注冊狀態(tài)信息,當(dāng)接收到的IMS的注冊狀態(tài)信息為未注冊狀態(tài)信息時,說明此時VoLTE高清語音功能未開啟或不能正常使用,狀態(tài)欄不顯示VoLTE高清語音功能圖標(biāo)即HD圖標(biāo);當(dāng)接收到的IMS的注冊狀態(tài)信息為已注冊狀態(tài)信息時,說明此時VoLTE卡作為數(shù)據(jù)卡并且打開了VoLTE開關(guān),VoLTE高清語音通話功能可以正常使用,狀態(tài)欄顯示VoLTE高清語音功能圖標(biāo)即HD圖標(biāo)。
上述IMS注冊狀態(tài)更新上報方法,通過檢測VoLTE開關(guān)狀態(tài)變化,根據(jù)VoLTE開關(guān)狀態(tài)變化信息及時更新IMS注冊狀態(tài)并上報IMS的注冊狀態(tài)信息,使得狀態(tài)欄能夠及時準(zhǔn)確的顯示或隱藏HD圖標(biāo),避免出現(xiàn)用戶打開或關(guān)閉VoLTE開關(guān),但I(xiàn)MS的注冊狀態(tài)信息更新錯誤或無法及時上報,進(jìn)而導(dǎo)致無法正確更新VoLTE高清語音功能圖標(biāo)即無法正常顯示HD圖標(biāo)的問題,提高了HD圖標(biāo)顯示的準(zhǔn)確性。
如圖5所示,在一個實施例中,提供一種IMS注冊狀態(tài)更新上報裝置,包括:
獲取模塊510,用于獲取VoLTE開關(guān)狀態(tài)變化信息并發(fā)送至IMS服務(wù)緩存。
更新上報模塊520,用于IMS服務(wù)緩存接收到VoLTE開關(guān)狀態(tài)變化信息后,更新IMS的注冊狀態(tài)并上報至狀態(tài)欄模塊。
控制模塊530,用于狀態(tài)欄根據(jù)IMS的注冊狀態(tài)控制HD圖標(biāo)顯示或隱藏。
本實施例中,IMS注冊狀態(tài)更新上報裝置,當(dāng)檢測到VoLTE開關(guān)狀態(tài)發(fā)生變化時,上報至IMS服務(wù)緩存,IMS服務(wù)緩存根據(jù)VoLTE開關(guān)狀態(tài)的變化更新IMS的注冊狀態(tài)并上報至狀態(tài)欄模塊,以使?fàn)顟B(tài)欄模塊控制HD圖標(biāo)的顯示或隱藏。通過獲取VoLTE開關(guān)狀態(tài)的變化信息,保證及時更新對應(yīng)的IMS的注冊狀態(tài),進(jìn)而使?fàn)顟B(tài)欄能夠根據(jù)反饋的IMS的注冊狀態(tài)信息及時正確的控制HD圖標(biāo)的顯示或隱藏,提高了HD圖標(biāo)顯示的正確性。
在一個實施例中,更新上報模塊520還用于獲取所述IMS服務(wù)緩存的配置參數(shù),所述配置參數(shù)包括所述VoLTE開關(guān)狀態(tài)參數(shù)和IMS網(wǎng)絡(luò)注冊參數(shù);根據(jù)所述VoLTE開關(guān)狀態(tài)參數(shù)和所述IMS網(wǎng)絡(luò)注冊參數(shù)更新所述IMS的注冊狀態(tài)并上報至狀態(tài)欄模塊。
如圖6所示,在一個實施例中,更新上報模塊520包括:
第一判斷模塊521,用于根據(jù)VoLTE開關(guān)狀態(tài)參數(shù)判斷VoLTE開關(guān)狀態(tài)是否為開啟狀態(tài)。
第一更新模塊523,用于若VoLTE開關(guān)狀態(tài)不是開啟狀態(tài),則更新IMS的注冊狀態(tài)為未注冊狀態(tài)。
第二判斷模塊525,用于若VoLTE開關(guān)狀態(tài)為開啟狀態(tài),則根據(jù)IMS網(wǎng)絡(luò)注冊參數(shù)判斷IMS網(wǎng)絡(luò)是否注冊成功。
第二更新模塊527,用于若IMS網(wǎng)絡(luò)沒有注冊成功,則更新IMS的注冊狀態(tài)為未注冊狀態(tài);若IMS網(wǎng)絡(luò)注冊成功,則更新IMS的注冊狀態(tài)為已注冊狀態(tài)。
上報模塊529,用于將更新后的IMS的注冊狀態(tài)上報至狀態(tài)欄模塊。
在一個實施例中,控制模塊530用于當(dāng)IMS的注冊狀態(tài)為已注冊狀態(tài)時,狀態(tài)欄模塊控制HD圖標(biāo)顯示;當(dāng)IMS的注冊狀態(tài)為未注冊狀態(tài)時,狀態(tài)欄模塊控制HD圖標(biāo)隱藏。
在一個實施例中,獲取模塊510還用于檢測VoLTE開關(guān)狀態(tài)是否發(fā)生變化;當(dāng)檢測到VoLTE開關(guān)狀態(tài)發(fā)生變化時,獲取VoLTE開關(guān)狀態(tài)變化信息。
以上所述實施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡潔,未對上述實施例中的各個技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說明書記載的范圍。
以上所述實施例僅表達(dá)了本發(fā)明的幾種實施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。