本發明專利技術公開了一種應用程序間通信方法及裝置,用于在iOS系統中當前應用程序與目標應用程序之間進行消息傳遞,目標應用程序具有定制的統一資源定位符方案URL?Schemes字段信息,所述裝置包括信息獲知單元,用于獲知URL?Schemes字段信息;生成單元,用于根據URL?Schemes字段信息生成目標應用程序的URL;調用單元,用于在當前應用程序中,以該URL為參數,調用UIApplication類的openURL方法,向目標應用程序進行消息傳遞;判斷單元,用于以URL?Schemes字段信息為參數,調用UIApplication類的canOpenURL方法,判斷當前操作系統中是否已安裝目標應用程序;安裝工具調用單元,用于如果未安裝,調用應用程序安裝列表工具并在應用程序安裝列表工具中顯示出目標應用程序。通過本發明專利技術,能夠實現在iOS系統中不同應用程序間的相互通信。
【技術實現步驟摘要】
本專利技術涉及計算機
,具體涉及一種應用程序間通信方法及裝置。
技術介紹
iOS系統是一種手持設備(如手機等)的操作系統。由于iOS系統比較封閉,每個應用程序只能在為該改程序創建的文件系統中讀取文件,不可以去其它地方訪問,此區域被成為沙盒,所有的非代碼文件都要保存在此,例如圖像、圖標、聲音、映像、屬性列表、文本文件等。iOS平臺上常見的安裝包有三種deb、ipa和pxl,其中,ipa格式是在iOS平臺上推出的專屬軟件安裝包。ipa文件實質是一個zip壓縮包(不是rar或7z包),由于zip包不能記錄權限和所有者等信息,所以蘋果規定了 ipa的安裝方式,即全部ipa都會解包安裝在/var/mobile/Applications目錄下,全部文件和目錄的所有者及用戶組均設為mobile (ID為501),主程序(可執行文件)的權限設為0755 (所有人都可以執行,但只有所有者可以修改),可執行文件在Plist中定義。全部目錄權限設為0755,而其它所有文件都設為0644(僅所有者可以修改,其余人只允許讀取,全部人都不允許執行)。ipa解包后并非直接放置于Applications目錄下,而是放在一串由隨機碼構成的目錄下,其作用在于,只允許這個軟件運行在一個特定的沙盒(Sandbox)中,不能干擾其他軟件。由于這個軟件只能在這個特定的目錄下運行(當然了,部分程序會調用系統的通訊錄、相機等組件,但仍然是受限制的),從而保證了整個系統的安全性和穩定性。iOS操作系統的上述特點在保證整個系統的安全性和穩定性的同時,也在其他方面存在著明顯的缺陷。例如,正是由于iOS的ipa安裝文件就如同一個個盒子一般,放在了/ var/ mob He/app Iications目錄下,以這個程序的眼光看外面,基本什么也看不到,以至于看不到在自己的目錄外的信息。因此,在iOS系統中,不同的應用程序之間基本無法實現相互通信。
技術實現思路
鑒于上述問題,提出了本專利技術以便提供一種克服上述問題或者至少部分地解決上述問題的應用程序間通信方法及裝置,能夠實現在iOS系統中不同應用程序間的相互通信。依據本專利技術的一個方面,提供了一種應用程序間通信方法,用于在當前應用程序與目標應用程序之間進行消息傳遞,所述目標應用程序具有定制的統一資源定位符方案URL Schemes字段信息,所述方法包括獲知目標應用程序的所述URL Schemes字段信息;根據所述URL Schemes字段信息生成所述目標應用程序的URL ;以目標應用程序的URL Schemes字段信息為參數,調用UIApplication類的canOpenURL方法,判斷當前操作系統中是否已安裝所述目標應用程序;如果已安裝,則在當前應用程序中,以所述目標應用程序的URL為參數,調用UIApplication類的openURL方法,向目標應用程序進行消息傳遞;如果尚未安裝,調用應用程序安裝列表工具,并在所述應用程序安裝列表工具中顯示出所述目標應用程序,以便提示用戶安裝所述目標應用程序。可選地,從當前應用程序傳遞到目標應用程序的消息包括啟動所述目標應用程序的消息,所述在當前應用程序中,以所述目標應用程序的URL為參數,調用^Application類的openURL方法,向目標應用程序進行消息傳遞包括在當前應用程序的顯示界面中提供所述目標應用程序的啟動入口 ;當通過所述啟動入口接收到啟動所述目標應用程序的請求時,以所述目標應用程序的URL為參數,調用UIApplication類的openURL方法,啟動所述目標應用程序。 可選地,所述啟動所述目標應用程序之后,還包括將顯示焦點切換到目標應用程序的顯示界面。可選地,所述目標應用程序的URL中還包括當前應用程序向目標應用程序傳遞的值,所述目標應用程序被啟動后,存儲傳遞過來的值或者根據傳遞過來的值執行相應的操作。可選地,當前應用程序也具有定制的URL Schemes字段信息,所述目標應用程序的URL中還包括當前應用程序的信息,所述目標應用程序被啟動后,在目標應用程序的顯示界面顯示所述當前應用程序的啟動入口,以便通過該啟動入口返回到所述當前應用程序。根據本專利技術的另一方面,提供了一種應用程序間通信裝置,用于在當前應用程序與目標應用程序之間進行消息傳遞,所述目標應用程序的具有定制的統一資源定位符方案URL Schemes字段信息,所述裝置包括信息獲知單元,用于獲知目標應用程序的所述URL Schemes字段信息;生成單元,用于根據所述URL Schemes字段信息生成所述目標應用程序的URL ;判斷單元,用于以目標應用程序的URL Schemes字段信息為參數,調用UIApplication類的canOpenURL方法,判斷當前操作系統中是否已安裝所述目標應用程序;調用單元,用于如果已安裝,則在當前應用程序中,以所述目標應用程序的URL為參數,調用UIApplication類的openURL方法,向目標應用程序進行消息傳遞;安裝工具調用單元,用于如果尚未安裝,調用應用程序安裝列表工具,并在所述應用程序安裝列表工具中顯示出所述目標應用程序,以便提示用戶安裝所述目標應用程序。可選地,從當前應用程序傳遞到目標應用程序的消息包括啟動所述目標應用程序的消息,所述調用單元包括入口提供子單元,用于在當前應用程序的顯示界面中提供所述目標應用程序的啟動入口 ;調用子單元,用于當通過所述啟動入口接收到啟動所述目標應用程序的請求時,以所述目標應用程序的URL為參數,調用UIApplication類的openURL方法,啟動所述目標應用程序。可選地,還包括界面切換單元,用于啟動所述目標應用程序之后,將顯示焦點切換到目標應用程序的顯示界面。可選地,所述目標應用程序的URL中還包括當前應用程序向目標應用程序傳遞的值,所述目標應用程序被啟動后,存儲傳遞過來的值或者根據傳遞過來的值執行相應的操作。可選地,當前應用程序也具有定制的URL Schemes字段信息,所述目標應用程序的URL中還包括當前應用程序的信息,所述目標應用程序被啟動后,在目標應用程序的顯示界面顯示所述當前應用程序的啟動入口,以便通過該啟動入口返回到所述當前應用程序。根據本專利技術的應用程序間通信方法及裝置,可以為目標應用程序實現定制的URLSchemes字段信息,這樣在需要從當前應用程序向目標應用程序進行消息傳遞時,就可以首先獲知目標應用程序的所述URL Schemes字段信息,然后根據URL Schemes字段信息生成目標應用程序的URL ;進而,就可以在當前應用程序中,以目標應用程序的URL為參數,調用UIApplication類的openURL方法,從而實現向目標應用程序進行消息傳遞。這樣,就可以在iOS系統中實現兩個應用程序之間的消息傳遞。上述說明僅是本專利技術技術方案的概述,為了能夠更清楚了解本專利技術的技術手段,而可依照說明書的內容予以實施,并且為了讓本專利技術的上述和其它目的、特征和優點能夠更明顯易懂,以下特舉本專利技術的具體實施方式。附圖說明通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優選實施方式的目的,而并不認為是對本專利技術的限制。而且在整個附圖中,用相同的本文檔來自技高網...
【技術保護點】
一種應用程序間通信方法,用于在iOS系統中當前應用程序與目標應用程序之間進行消息傳遞,所述目標應用程序具有定制的統一資源定位符方案URL?Schemes字段信息,所述方法包括:獲知目標應用程序的所述URL?Schemes字段信息;根據所述URL?Schemes字段信息生成所述目標應用程序的URL;以目標應用程序的URL?Schemes字段信息為參數,調用UIApplication類的canOpenURL方法,判斷當前操作系統中是否已安裝所述目標應用程序;如果已安裝,則在當前應用程序中,以所述目標應用程序的URL為參數,調用UIApplication類的openURL方法,向目標應用程序進行消息傳遞;如果尚未安裝,調用應用程序安裝列表工具,并在所述應用程序安裝列表工具中顯示出所述目標應用程序,以便提示用戶安裝所述目標應用程序。
【技術特征摘要】
【專利技術屬性】
技術研發人員:陳杰,
申請(專利權)人:北京奇虎科技有限公司,奇智軟件北京有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。