亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在iOS客戶端后臺持續(xù)運行APP的方法及系統(tǒng)與流程

文檔序號:11519421閱讀:623來源:國知局

本發(fā)明涉及ios客戶端設置領域,具體涉及一種在ios客戶端后臺持續(xù)運行app的方法及系統(tǒng)。



背景技術:

隨著移動互聯(lián)網(wǎng)不斷的發(fā)展,用戶需要在ios客戶端上同時使用和切換多個app(application,應用程序)。將用戶指定的app定義為app1,將客戶端上其他app定義為app2;用戶使用app1的方法一般為:用戶運行app1后,當用戶切換運行app2時,app1需要在后臺持續(xù)運行。上述方法能夠使得用戶使用app2時,app1也能夠在后臺執(zhí)行其功能(例如播放音頻等),用戶切換回app1時,app1能夠與切換前的運行信息相銜接(例如繼續(xù)展示切換之前的運行界面和運行信息等)。

蘋果公司的backgroundmodel(后臺運行模式)能夠實現(xiàn)app在ios客戶端的后臺運行,但是,app在ios客戶端的后臺運行時,存在以下缺陷:

(1)app在ios客戶端的后臺運行的充分條件為:對ios客戶端進行后臺定位,因此為了保證app在ios客戶端的后臺持續(xù)運行,需要持續(xù)對ios客戶端進行后臺定位,而后臺定位會消耗ios客戶端大量的電量,占用ios客戶端的內(nèi)存,進而降低了用戶體驗。

(2)app在ios客戶端的后臺持續(xù)運行的基礎條件:app持續(xù)取得ios客戶端的后臺運行權限,當用戶切換其他app時,若其他app運行了與后臺app相同的功能,則后臺app會失去后臺運行權限,進而無法持續(xù)運行。例如,后臺app為音頻應用程序1(qq音樂),其他app為音頻程序2(酷我音樂),當酷我音樂播放音樂時,功能相同的qq音樂則會在后臺停止播放音樂,進而失去后臺運行權限。此時,用戶若需要繼續(xù)運行qq音樂,則需要重新啟動qq音樂;當用戶反復切換app時,需要多次重新啟動app,其操作過程比較繁瑣,用戶體驗較差。



技術實現(xiàn)要素:

針對現(xiàn)有技術中存在的缺陷,本發(fā)明解決的技術問題為:如何在ios客戶端定位功能關閉的情況下,使得app在ios客戶端的后臺持續(xù)運行。

為達到以上目的,本發(fā)明提供的在ios客戶端后臺持續(xù)運行app的方法,包括以下步驟:

步驟a:當app由ios客戶端的前臺切換至后臺運行時,打開ios客戶端的后臺定位功能;當ios客戶端獲取到至少1次定位地點后,轉到步驟b;

步驟b:在ios客戶端中創(chuàng)建backgroundtask(后臺運行作業(yè)),關閉ios客戶端的后臺定位功能,通過backgroundtask接管app的后臺運行權限,轉到步驟c;

步驟c:在指定周期后,重新打開ios客戶端的后臺定位功能,關閉backgroundtask,轉到步驟d;

步驟d:判斷ios客戶端是否繼續(xù)運行app,若是,轉到步驟a;否則結束。

本發(fā)明提供的在ios客戶端后臺持續(xù)運行app的系統(tǒng),包括后臺定位開啟模塊、后臺作業(yè)創(chuàng)建模塊和后臺定位刷新模塊;

后臺定位開啟模塊用于:當app由ios客戶端的前臺切換至后臺運行時,打開ios客戶端的后臺定位功能;當ios客戶端獲取到至少1次定位地點后,向后臺作業(yè)創(chuàng)建模塊后臺作業(yè)創(chuàng)建信號;

后臺作業(yè)創(chuàng)建模塊用于:收到后臺作業(yè)創(chuàng)建信號后,在ios客戶端中創(chuàng)建backgroundtask,關閉ios客戶端的后臺定位功能,通過backgroundtask接管app的后臺運行權限,向后臺定位刷新模塊發(fā)送后臺定位刷新信號:

后臺定位刷新模塊用于:在指定周期后,重新打開ios客戶端的后臺定位功能,關閉backgroundtask。

與現(xiàn)有技術相比,本發(fā)明的優(yōu)點在于:

(1)參見本發(fā)明步驟b和步驟c可知,本發(fā)明在ios客戶端的后臺定位功能關閉時,通過創(chuàng)建的后臺運行作業(yè),來接管app的后臺運行權限,進而保證了app在ios客戶端的后臺持續(xù)運行。

有鑒于此,與現(xiàn)有技術中持續(xù)開啟后臺定位功能相比,本發(fā)明的后臺運行作業(yè)只是單純的接管app的后臺運行權限,并未做任何占用內(nèi)存的其他操作。因此,參見本發(fā)明步驟c和步驟d可知,本發(fā)明通過后臺運行作業(yè)和后臺定位功能的循環(huán)使用,不僅能夠顯著節(jié)省ios客戶端的內(nèi)存和用電量,而且能夠在后臺進行與app相關的操作,還能夠定時獲取到ios客戶端的定位數(shù)據(jù)。

與現(xiàn)有技術中app無法持續(xù)取得ios客戶端的后臺運行權限相比,本發(fā)明的后臺運行作業(yè),能夠在ios客戶端使用其他app時,依然保持后臺app的后臺運行權限。因此,采用本發(fā)明的ios客戶端使用時,用戶不需要反復開啟app。

由此可知,本發(fā)明極大的提升了ios客戶端的用戶體驗,非常適于推廣。

(2)本發(fā)明只要在app在ios客戶端后臺運行時,才會創(chuàng)建和使用后臺運行作業(yè);因此,本發(fā)明避免了因app不在ios客戶端后臺運行仍創(chuàng)建和使用后臺運行作業(yè)的情形,進一步節(jié)省了ios客戶端的用電量和內(nèi)存。

(3)本發(fā)明的后臺運行作業(yè)接管app的后臺運行權限之前,需要獲取10個ios客戶端的定位地點,進而保證了ios客戶端移動軌跡的清晰,便于用戶準確的使用ios客戶端上的app,進一步提升了用戶體驗。

附圖說明

圖1為本發(fā)明實施例中在ios客戶端后臺持續(xù)運行app的方法的流程圖。

具體實施方式

以下結合附圖及實施例對本發(fā)明作進一步詳細說明。

參見圖1所示,本發(fā)明實施例中的在ios客戶端后臺持續(xù)運行app的方法,包括以下步驟:

s1:當app由ios客戶端(例如蘋果手機和ipad)的前臺切換至后臺運行時,打開ios客戶端的后臺定位功能;當ios客戶端獲取到至少1次定位地點后,轉到s2。

s1中定位地點獲取次數(shù)為10次,獲取10次定位地點能夠保證ios客戶端移動軌跡的清晰,進而便于用戶準確的使用ios客戶端上的app。

s2:判斷app是否在ios客戶端的后臺運行,若是,轉到s3,否則轉到s5。

s2中判斷app是否在ios客戶端的后臺運行的具體實現(xiàn)方式為:

調用[uiapplicationsharedapplication]applicationstate]方法,得到一個枚舉常量;若枚舉常量為uiapplicationstatebackground,則證明app是ios客戶端后臺運行。

s2的原理和好處為:若app在執(zhí)行s1的過程中不在ios客戶端運行,則可能出現(xiàn)2種情形:1、app在ios客戶端前臺運行,此時ios客戶端會持續(xù)進行后臺定位;2、ios客戶端關閉app,此時ios客戶端不需要進行后臺定位。上述2種情形均不需要進行后續(xù)流程,而s2避免了上述2種情形發(fā)生時,仍繼續(xù)進行后續(xù)流程的情況,節(jié)省了ios客戶端的用電量和內(nèi)存,進而提升了用戶體驗。

s3:在ios客戶端中創(chuàng)建1個backgroundtask(后臺運行作業(yè),基于backgroundmodel創(chuàng)建)后,將backgroundtask作為當前類的一個屬性currenttask進行保存;關閉ios客戶端的后臺定位功能,通過backgroundtask接管app的后臺運行權限,轉到s4。

s3中開啟backgroundtask的具體實現(xiàn)方式為:調用(uibackgroundtaskidentifier)beginbackgroundtaskwithexpirationhandler:(void(^__nullable)(void))方法,返回一個創(chuàng)建好的backgroundtask。

s4:為了定期告知用戶app在后臺運行,需要定期對ios客戶端進行后臺定位,因此,本發(fā)明在定時器定時的指定周期后(本實施例為3分鐘),會重新打開ios客戶端的后臺定位功能,此時關閉s3中開啟的backgroundtask,轉到s5。

s4中關閉backgroundtask的具體實現(xiàn)方式為:將s3中的currenttask屬性放入以下參數(shù):

uiapplication.sharedapplication().endbackgroundtask(self.currenttask)。

s5:判斷ios客戶端是否繼續(xù)運行app,若是,轉到s1;否則結束。

通過s4和s5可知,本發(fā)明的后臺定位功能為定時開啟,與現(xiàn)有技術中持續(xù)開啟后臺定位功能相比,本發(fā)明顯著的節(jié)省了ios客戶端的電量和內(nèi)存,進而極大的提升了用戶體驗。

本發(fā)明實施例提供的在ios客戶端后臺持續(xù)運行app的系統(tǒng),包括后臺定位開啟模塊、后臺作業(yè)創(chuàng)建模塊和后臺定位刷新模塊。

后臺定位開啟模塊用于:當app由ios客戶端的前臺切換至后臺運行時,打開ios客戶端的后臺定位功能;當ios客戶端獲取到至少1次(本實施例中為10次)定位地點、并確認app在ios客戶端的后臺運行后,向后臺作業(yè)創(chuàng)建模塊后臺作業(yè)創(chuàng)建信號。

后臺作業(yè)創(chuàng)建模塊用于:收到后臺作業(yè)創(chuàng)建信號后,在ios客戶端中創(chuàng)建backgroundtask(基于蘋果公司的backgroundmodel),關閉ios客戶端的后臺定位功能,通過backgroundtask接管app的后臺運行權限,向后臺定位刷新模塊發(fā)送后臺定位刷新信號:

后臺定位刷新模塊用于:在指定周期(本實施例中為3分鐘)后,重新打開ios客戶端的后臺定位功能,關閉backgroundtask。

至此可知,本發(fā)明實施例不僅能夠顯著節(jié)省ios客戶端的內(nèi)存和用電量,而且使得用戶不需要反復開啟app,進而極大的提升了ios客戶端的用戶體驗,非常適于推廣。

進一步,本發(fā)明不局限于上述實施方式,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也視為本發(fā)明的保護范圍之內(nèi)。本說明書中未作詳細描述的內(nèi)容屬于本領域專業(yè)技術人員公知的現(xiàn)有技術。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1