本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種超長短信處理方法及相應(yīng)的移動終端。
背景技術(shù):
現(xiàn)在越來越多的手機(jī)和網(wǎng)絡(luò)支持超長短信的發(fā)送與接收。所謂超長短信,就是發(fā)送短消息的長度超過gsm網(wǎng)絡(luò)一條短消息的長度,通常為140個字節(jié)(或者70漢字)。其處理方法是超長短信在發(fā)送過程中會通過發(fā)送端將其切割成多條短消息傳送,但是會將所述多條短消息作為一組短消息。并且發(fā)送端在將超長短信切割成多條短消息時,會對切割后的短消息根據(jù)順序賦予規(guī)范的數(shù)值,然后分別將賦值后的短消息傳送至網(wǎng)絡(luò)端。當(dāng)接收端從所述網(wǎng)絡(luò)端接收完所有的短消息后,會根據(jù)賦值的順序?qū)⑺龀L短信復(fù)原。
在現(xiàn)有技術(shù)中,用戶在接收超長短信時,需要在所有賦值后的短消息都接收完畢后,才會通知使用者所述超長短信已接收。也就是說,接收端在未接收到所有賦值后的短消息前,會將所述超長短信阻擋在分位層,且將接收到的所有賦值的短消息存儲至數(shù)據(jù)庫中。直到所有賦值的短消息接收完畢后,才會從數(shù)據(jù)庫中取出所有賦值的短消息并將所述賦值的短消息排序后再通知使用者所述超長短信已接收。然而,在網(wǎng)絡(luò)信號不穩(wěn)定等情況下,此種方式會出現(xiàn)接收端接收所述超長短信的時間過長的情況,導(dǎo)致上述超長短信的顯示滯后。如若賦值后的短消息在傳送或接收的過程中出現(xiàn)部分遺失,整份超長短信都將被忽略而無法顯示。
技術(shù)實現(xiàn)要素:
鑒于以上內(nèi)容,有必要提供一種超長短信處理方法及移動終端,可以實現(xiàn)實時匯報接收的超長短信給用戶。
一種移動終端,包括顯示屏,該移動終端包括:存儲器;至少一個處理器;以及至少一個模塊,所述至少一個模塊被存儲在所述存儲器中并被配置成由所述至少一個處理器執(zhí)行,所述至少一個模塊包括:接收模塊,用于接收被拆分的超長短信的片段;判斷模塊,用于判斷是否已經(jīng)接收到所述超長短信中的其他片段;處理模塊,用于在尚未接收到所述超長短信中的其他片段時,啟動第一計時器開始計時;判斷模塊,用于判斷所述第一計時器當(dāng)前計時時間是否已達(dá)到第一預(yù)設(shè)時間;以及顯示模塊,用于在所述第一計時器當(dāng)前計時時間已達(dá)到第一預(yù)設(shè)時間時,將接收到的片段組合還原后顯示。
一種超長短信處理方法,該方法包括:接收步驟,接收被拆分的超長短信的片段;判斷步驟一,判斷是否已經(jīng)接收到所述超長短信中的其他片段;處理步驟一,在尚未接收到所述超長短信中的其他片段時,啟動第一計時器開始計時;判斷步驟二,判斷所述第一計時器當(dāng)前計時時間是否已達(dá)到第一預(yù)設(shè)時間;以及顯示步驟,在所述第一計時器當(dāng)前計時時間已達(dá)到第一預(yù)設(shè)時間時,將接收到的片段組合還原后顯示。
相較于現(xiàn)有技術(shù),本發(fā)明提供的超長短信處理方法及移動終端,通過設(shè)置兩個計時器來監(jiān)測所述移動終端接收被拆分的超長短信的片段的情況,從而達(dá)到即時性匯報超長短信的目的,提高用戶體驗。
附圖說明
圖1是本發(fā)明超長短信處理系統(tǒng)較佳實施例的運(yùn)行環(huán)境示意圖。
圖2是本發(fā)明超長短信處理系統(tǒng)較佳實施例的功能模塊圖。
圖3是本發(fā)明超長短信處理方法的較佳實施例的流程圖。
主要元件符號說明
移動終端1
超長短信處理系統(tǒng)10
接收模塊101
判斷模塊102
處理模塊103
顯示模塊104
顯示屏11
存儲器12
處理器13
如下具體實施方式將結(jié)合上述附圖進(jìn)一步說明本發(fā)明。
具體實施方式
參閱圖1所示,是本發(fā)明超長短信處理系統(tǒng)的運(yùn)行環(huán)境示意圖。在本實施例中,所述超長短信處理系統(tǒng)10運(yùn)行于移動終端1中,所述移動終端1包括,但不限于,顯示屏11、存儲器12及處理器13。上述各個元件之間電氣連接。在本實施例中,所述的移動終端1可以是智能手機(jī)。在本實施例中,所述顯示屏11可以是液晶(liquidcrystaldisplay,lcd)顯示屏或有機(jī)發(fā)光二極管(organiclight-emittingdiode,oled)顯示屏,用于顯示短信內(nèi)容。所述存儲器12可以是所述移動終端1本身的內(nèi)存,也可以是安全數(shù)字卡、智能媒體卡等外部存儲設(shè)備。所述存儲器12中存儲有所述超長短信處理系統(tǒng)10。所述處理器13可以為中央處理單元,或者其他能夠執(zhí)行所述超長短信處理系統(tǒng)10的數(shù)據(jù)處理芯片。
參閱圖2所示,所述超長短信處理系統(tǒng)10可以被分割成一個或多個模塊,所述一個或多個模塊存儲在所述存儲器12中,并被配置成一個或多個處理器(本實施例為一個處理器13)執(zhí)行,以完成本 發(fā)明。例如,所述超長短信處理系統(tǒng)10被分割成接收模塊101、判斷模塊102、處理模塊103及顯示模塊104。本發(fā)明所稱的模塊是能夠完成一特定功能的程序段,比程序更適合用于描述軟件在電子設(shè)備1中的執(zhí)行過程,關(guān)于各模塊的詳細(xì)功能將在后文圖3的流程圖中作具體描述。在本發(fā)明中,所述超長短信處理系統(tǒng)10通過設(shè)置兩個計時器來監(jiān)測所述移動終端1接收被拆分的超長短信的片段的情況,從而實現(xiàn)即時匯報超長短信給用戶的功能。
參閱圖3所示,是本發(fā)明超長短信處理方法較佳實施例的流程圖。根據(jù)不同需求,該流程圖中步驟的順序可以改變,某些步驟可以省略或合并。
在本實施例中,需要說明的是,步驟s01至步驟s07是接收超長短信的片段的流程。每當(dāng)移動終端1接收到一個被拆分的超長短信的片段,步驟s01至步驟s07的流程就會執(zhí)行一次。在步驟s01至步驟s07的流程中會同時執(zhí)行兩個計時器(也就是圖3中的第一計時器和第二計時器)的計時功能。步驟s20是在第一計時器當(dāng)前計時時間達(dá)到第一預(yù)設(shè)時間時執(zhí)行。步驟s30與步驟s31是在第二計時器當(dāng)前計時時間達(dá)到第二預(yù)設(shè)時間時執(zhí)行。
步驟s01,接收模塊101接收被拆分的超長短信的片段。
現(xiàn)有技術(shù)中實現(xiàn)從發(fā)送端傳送超長短信至接收端(即本發(fā)明中的移動終端1)時,需要將所述超長短信從發(fā)送端傳送至運(yùn)營商網(wǎng)絡(luò),再從運(yùn)營商網(wǎng)絡(luò)傳送至移動終端1。所述發(fā)送端在發(fā)送超長短信時,自動將所述超長短信拆分成多節(jié)長度預(yù)設(shè)長度(例如140字節(jié)或70漢字)的片段,每節(jié)片段分別發(fā)送給所述運(yùn)營商網(wǎng)絡(luò)。在所述超長短信拆分時,按照長短信協(xié)議要求,每節(jié)被拆分的片段均添加長短信協(xié)議字段標(biāo)識,并逐一編號,所述片段的內(nèi)容部分封裝長短信協(xié)議字段標(biāo)識。運(yùn)營商網(wǎng)絡(luò)對拆分的多節(jié)片段分別進(jìn)行獨(dú)立傳輸,所述接收模塊101接收被拆分的超長短信的片段。
步驟s02,判斷模塊102判斷是否已經(jīng)接收到所述超長短信的所有片段。當(dāng)沒有接收到所述超長短信的所有片段時,流程進(jìn)入步驟s03;當(dāng)已經(jīng)接收到所述超長短信的所有片段時,流程進(jìn)入步驟s04。
在本實施例中,由于運(yùn)營商網(wǎng)絡(luò)采用存儲轉(zhuǎn)發(fā)方式分別對所述片段進(jìn)行傳輸,所述片段到達(dá)移動終端1時的順序與原有的發(fā)送順序可能不一致。所述判斷模塊102根據(jù)長短信協(xié)議字段標(biāo)識判斷是否已經(jīng)接收到所述超長短信的所有片段。
步驟s03,判斷模塊102判斷是否先前已經(jīng)接收到所述超長短信中的其他片段。這里的其他片段是指同一個超長短信中的其他片段。當(dāng)還沒有接收到所述超長短信中的其他片段時,流程進(jìn)入步驟s06;當(dāng)已經(jīng)接收到所述超長短信中的其他片段時,流程進(jìn)入步驟s05。在本實施例中,所述判斷模塊102根據(jù)長短信協(xié)議字段標(biāo)識判斷是否已經(jīng)接收到所述超長短信中的其他片段。
步驟s04,處理模塊103清除第一計時器和第二計時器,之后流程進(jìn)入步驟s07。在本實施例中,當(dāng)接收到所述超長短信的所有片段后,已經(jīng)不需要使用所述第一計時器和所述第二計時器,所述處理模塊103清除所述第一計時器和第二計時器。
步驟s05,判斷模塊102判斷所述第一計時器當(dāng)前計時時間是否已達(dá)到第一預(yù)設(shè)時間(也就是說,步驟s20的第一計時器當(dāng)前計時時間達(dá)到第一預(yù)設(shè)時間的事件是否已經(jīng)記錄)。當(dāng)所述第一計時器當(dāng)前計時時間已達(dá)到第一預(yù)設(shè)時間,流程進(jìn)入步驟s07;當(dāng)所述第一計時器當(dāng)前計時時間尚未達(dá)到第一預(yù)設(shè)時間,流程結(jié)束。
步驟s06,處理模塊103啟動第一計時器和第二計時器開始計時。
步驟s07,顯示模塊104將接收到的片段組合還原后顯示在所述顯示屏11中。
在本實施例中,接收模塊101接收到所述超長短信的片段后,將所述片段暫時存儲在存儲器12中。當(dāng)接收到所述第一計時器記錄當(dāng) 前計時時間達(dá)到第一預(yù)設(shè)時間的事件的信息時,所述顯示模塊104將接收到的所有片段按原有的編號順序合并成一條超長短信并顯示給用戶。在其他實施例中,所述顯示模塊102還可以在顯示組合還原后的片段時,通過提示音和/或者震動方式提醒用戶有新短信送達(dá)。
步驟s20,處理模塊103記錄第一計時器當(dāng)前計時時間達(dá)到所述第一預(yù)設(shè)時間的事件,之后流程進(jìn)入步驟s07。在判斷當(dāng)前計時時間達(dá)到所述第一預(yù)設(shè)時間的時候,將所述計時時間達(dá)到所述第一預(yù)設(shè)時間的事件記錄下來,并將此時接收模塊101接收到的所有片段組合還原后顯示給用戶。
步驟s30,處理模塊103記錄第二計時器當(dāng)前計時時間達(dá)到所述第二預(yù)設(shè)時間的事件,之后流程進(jìn)入步驟s31。在本實施例中,所述第二預(yù)設(shè)時間是預(yù)期接收完超長短信的最大時間上限。所述第一預(yù)設(shè)時間小于所述第二預(yù)設(shè)時間。
步驟s31,處理模塊103截止接收所述超長短信的片段。在記錄第二計時器當(dāng)前計時時間達(dá)到所述第二預(yù)設(shè)時間的事件時,處理模塊103截止接收所述超長短信的片段。在本實施例中,在第二計時器當(dāng)前計時時間達(dá)到所述第二預(yù)設(shè)時間后,若接收模塊101有再接收到所述超長短信被拆分的片段,則將所述接收的片段作為另一條超長短息顯示給用戶。
通過上述步驟s01至步驟s07可以實現(xiàn)即時性匯報超長短信給用戶,避免出現(xiàn)長時間等待所述超長短信的所有片段都接收完后再匯報的情況。例如,假設(shè)所述超長短信被拆分后包括三個片段,片段1、片段2及片段3?,F(xiàn)有技術(shù)中必須在移動終端1接收到所述三個片段后,才將接收到的所述片段1、片段2及片段3按原有順序組合還原后顯示給用戶,并且如果所述三個片段在傳輸過程中遺失了任何一片段(如片段1)或者遺失了所述所述任何一片段中的任何信息,那么所述移動終端1將無法顯示所述超長短信。
而采用本發(fā)明后,通過設(shè)置第一定時器,在第一定時器當(dāng)前計時時間達(dá)到第一預(yù)設(shè)時間后,就可以將接收到的片段按所述超長短信原有順序組合還原后顯示給用戶。即使在第一定時器當(dāng)前計時時間達(dá)到第一預(yù)設(shè)時間時,移動終端1只接收到片段1及片段3,也將所述片段1及片段3按原有順序組合還原后顯示給用戶。而本發(fā)明設(shè)置的第二定時器,用于設(shè)定接收所述超長短信等待的最長時間,若當(dāng)前計時時間達(dá)到第二預(yù)設(shè)時間時,不管是否接收完所述超長短信的所有片段,都將截止接收所述超長短信的片段。并且在第二計時器當(dāng)前記錄時間超過所述第二預(yù)設(shè)時間后,若還接收到所述超長短信遺失了的片段2,則將所述片段2作為一條新的短信顯示給用戶。如此,既實現(xiàn)實時匯報接收的超長短信給用戶,又避免了遺失所述超長短信的情況。
最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照以上較佳實施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進(jìn)行修改或等同替換都不應(yīng)脫離本發(fā)明技術(shù)方案的精神和范圍。