本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于ancs協(xié)議兼容多平臺的通知消息獲取方法。
背景技術(shù):
ios是由蘋果公司開發(fā)的移動操作系統(tǒng),ios設(shè)備的通知消息只能通過applenotificationcenterservice(ancs)獲取。
android是一個以linux為基礎(chǔ)的半開源操作系統(tǒng),android設(shè)備的通知消息則只能通過notificationlistenerservice獲取。
因此,ios設(shè)備及android設(shè)備的通知消息不能共用一套獲取方法,使得不能通過ancs協(xié)議獲取android設(shè)備的通知消息,并且ios設(shè)備也不能掃描大部分的bluetoothlowenergy(ble,低功耗藍牙技術(shù))外圍設(shè)備。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題在于,提供一種基于ancs協(xié)議兼容多平臺的通知消息獲取方法,可使ios設(shè)備及android設(shè)備的通知消息共用一套獲取方法,靈活性、適應(yīng)性更強。
為了解決上述技術(shù)問題,本發(fā)明提供了一種基于ancs協(xié)議兼容多平臺的通知消息獲取方法,包括:
android外圍設(shè)備進行廣播;
所述android外圍設(shè)備與ios設(shè)備建立連接以讀取ios設(shè)備的通知消息,其中,所述android外圍設(shè)備與ios設(shè)備建立連接以讀取ios設(shè)備的通知消息的方法包括:ios設(shè)備主動連接android外圍設(shè)備后,android外圍設(shè)備反向連接ios設(shè)備以讀取ios設(shè)備的ancs格式的通知消息;
所述android外圍設(shè)備與android設(shè)備建立連接以讀取android設(shè)備的通知消息,其中,所述android外圍設(shè)備與android設(shè)備建立連接以讀取android設(shè)備的通知消息的方法包括:android設(shè)備主動連接android外圍設(shè)備后,將android設(shè)備的通知消息轉(zhuǎn)換為ancs格式,再將ancs格式的通知消息發(fā)送至android外圍設(shè)備。
作為上述方案的改進,所述android外圍設(shè)備與ios設(shè)備建立連接以讀取ios設(shè)備的通知消息的方法包括:所述ios設(shè)備主動連接android外圍設(shè)備;所述android外圍設(shè)備反向連接ios設(shè)備;所述android外圍設(shè)備等待ios設(shè)備收到新的通知消息;所述android外圍設(shè)備讀取ios設(shè)備的ancs格式的通知消息。
作為上述方案的改進,所述android外圍設(shè)備與android設(shè)備建立連接以讀取android設(shè)備的通知消息的方法包括:所述android設(shè)備主動連接android外圍設(shè)備;所述android設(shè)備等待新的通知消息;所述android設(shè)備通過notificationlistenerservice讀取新的通知消息以獲取android原生的notification格式的通知消息;所述android設(shè)備將android原生的notification格式的通知消息轉(zhuǎn)換為ancs格式的通知消息;所述android設(shè)備將ancs格式的通知消息發(fā)送至android外圍設(shè)備。
作為上述方案的改進,所述將android原生的notification格式的通知消息轉(zhuǎn)換為ancs格式的通知消息的方法包括:所述android設(shè)備將android原生的notification格式的通知消息轉(zhuǎn)換為二進制數(shù)據(jù);所述android設(shè)備根據(jù)ancs協(xié)議將二進制數(shù)據(jù)封裝為ancs格式的通知消息。
作為上述方案的改進,所述android外圍設(shè)備為具有ble廣播功能的android外圍設(shè)備。
實施本發(fā)明,具有如下有益效果:
通過本發(fā)明基于ancs協(xié)議兼容多平臺的通知消息獲取方法,當連接不同的設(shè)備時,均能通過ancs協(xié)議獲取對應(yīng)設(shè)備的通知消息。其中,既可通過反向連接技術(shù)使android外圍設(shè)備通過ancs協(xié)議有效讀取ios設(shè)備的通知消息,也可通過格式轉(zhuǎn)換技術(shù)使android外圍設(shè)備通過ancs協(xié)議有效讀取android設(shè)備的通知消息,從而有效地克服了現(xiàn)有技術(shù)中“不能通過ancs協(xié)議獲取android設(shè)備的通知消息”的缺陷,靈活性、適應(yīng)性更強。
附圖說明
圖1是本發(fā)明基于ancs協(xié)議兼容多平臺的通知消息獲取方法的第一實施例流程圖;
圖2是本發(fā)明基于ancs協(xié)議兼容多平臺的通知消息獲取方法的第二實施例流程圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進一步地詳細描述。僅此聲明,本發(fā)明在文中出現(xiàn)或即將出現(xiàn)的上、下、左、右、前、后、內(nèi)、外等方位用詞,僅以本發(fā)明的附圖為基準,其并不是對本發(fā)明的具體限定。
現(xiàn)有技術(shù)中,ios設(shè)備的通知消息只能通過applenotificationcenterservice(ancs)獲取。android設(shè)備的通知消息則只能通過notificationlistenerservice獲取。因此,ios設(shè)備及android設(shè)備的通知消息不能共用一套獲取方法(不能通過ancs協(xié)議獲取android設(shè)備的通知消息,ios設(shè)備也不能掃描大部分的ble外圍設(shè)備)。
本發(fā)明基于上述問題,提出了一種基于ancs協(xié)議兼容多平臺的通知消息獲取方法,當連接不同的設(shè)備(ios設(shè)備或android設(shè)備)時,均可通過ancs協(xié)議獲取對應(yīng)設(shè)備的通知消息(如,當連接android設(shè)備時,可通過ancs協(xié)議獲取android設(shè)備的通知消息),具體地:
獲取通知消息時,android外圍設(shè)備進行廣播,其中,所述android外圍設(shè)備為具有ble廣播功能的android外圍設(shè)備,另外,文中出現(xiàn)的ios設(shè)備可以為不具有廣播功能的ios設(shè)備,android設(shè)備可以為不具有廣播功能的android設(shè)備。
若android外圍設(shè)備需要獲取ios設(shè)備的通知消息,則所述android外圍設(shè)備與ios設(shè)備建立連接以讀取ios設(shè)備的通知消息。其中,所述android外圍設(shè)備與ios設(shè)備建立連接以讀取ios設(shè)備的通知消息的方法包括:ios設(shè)備主動連接android外圍設(shè)備后,android外圍設(shè)備可獲取ios設(shè)備的參數(shù)信息,android外圍設(shè)備再根據(jù)獲取的參數(shù)信息反向連接ios設(shè)備以讀取ios設(shè)備的ancs格式的通知消息。
若android外圍設(shè)備需要獲取android設(shè)備的通知消息,則所述android外圍設(shè)備與android設(shè)備建立連接以讀取android設(shè)備的通知消息。其中,所述android外圍設(shè)備與android設(shè)備建立連接以讀取android設(shè)備的通知消息的方法包括:android設(shè)備主動連接android外圍設(shè)備后,將android設(shè)備的通知消息轉(zhuǎn)換為ancs格式,再將ancs格式的通知消息發(fā)送至android外圍設(shè)備。
參見圖1,圖1顯示了本發(fā)明基于ancs協(xié)議兼容多平臺的通知消息獲取方法的第一實施例。
所述android外圍設(shè)備與ios設(shè)備建立連接以讀取ios設(shè)備的通知消息的方法包括:
s101,android外圍設(shè)備進行廣播;
s102,ios設(shè)備主動連接android外圍設(shè)備;
當ios設(shè)備連接android外圍設(shè)備成功后,進入步驟s103。
s103,android外圍設(shè)備反向連接ios設(shè)備;
當android外圍設(shè)備反向連接ios設(shè)備成功后,進入步驟s104。
需要說明的,ios設(shè)備主動連接android外圍設(shè)備后,android外圍設(shè)備能有效獲取ios設(shè)備的參數(shù)信息,從而使得android外圍設(shè)備能根據(jù)ios設(shè)備的參數(shù)信息連接ios設(shè)備,實現(xiàn)android外圍設(shè)備與ios設(shè)備之間的反向連接。
s104,android外圍設(shè)備等待ios設(shè)備收到新的通知消息;
s105,android外圍設(shè)備讀取ios設(shè)備的ancs格式的通知消息。
因此,通過上述反向連接的方式,可使android外圍設(shè)備通過ancs協(xié)議有效讀取ios設(shè)備的通知消息,克服了現(xiàn)有技術(shù)中“不能通過ancs協(xié)議獲取android設(shè)備的通知消息”的缺陷。
參見圖2,圖2顯示了本發(fā)明基于ancs協(xié)議兼容多平臺的通知消息獲取方法的第二實施例。
所述android外圍設(shè)備與android設(shè)備建立連接以讀取android設(shè)備的通知消息的方法包括:
s201,android外圍設(shè)備進行廣播;
s202,android設(shè)備主動連接android外圍設(shè)備;
當android設(shè)備主動連接android外圍設(shè)備成功后,進入步驟s203。
s203,android設(shè)備等待新的通知消息;
s204,android設(shè)備通過notificationlistenerservice讀取新的通知消息以獲取android原生的notification格式的通知消息;
s205,android設(shè)備將android原生的notification格式的通知消息轉(zhuǎn)換為ancs格式的通知消息;
具體地,所述將android原生的notification格式的通知消息轉(zhuǎn)換為ancs格式的通知消息的方法包括:
所述android設(shè)備將android原生的notification格式的通知消息轉(zhuǎn)換為二進制數(shù)據(jù);
所述android設(shè)備根據(jù)ancs協(xié)議將二進制數(shù)據(jù)封裝為ancs格式的通知消息。
s206,android設(shè)備將ancs格式的通知消息發(fā)送至android外圍設(shè)備。
因此,通過上述方式,可將android原生的notification格式的通知消息轉(zhuǎn)換為ancs格式的通知消息,從而使android外圍設(shè)備通過ancs協(xié)議有效讀取android設(shè)備的通知消息,克服了現(xiàn)有技術(shù)中“不能通過ancs協(xié)議獲取android設(shè)備的通知消息”的缺陷。
由上可知,通過本發(fā)明基于ancs協(xié)議兼容多平臺的通知消息獲取方法,當連接不同的設(shè)備時,既可通過反向連接技術(shù)使android外圍設(shè)備通過ancs協(xié)議有效讀取ios設(shè)備的通知消息,也可通過格式轉(zhuǎn)換技術(shù)使android外圍設(shè)備通過ancs協(xié)議有效讀取android設(shè)備的通知消息,從而有效地克服了現(xiàn)有技術(shù)中“不能通過ancs協(xié)議獲取android設(shè)備的通知消息”的缺陷。
以上所述是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍。