欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

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

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



背景技術(shù):

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

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

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

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



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

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

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

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

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

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

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

本發(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,關(guān)閉ios客戶端的后臺定位功能,通過backgroundtask接管app的后臺運行權(quán)限,向后臺定位刷新模塊發(fā)送后臺定位刷新信號:

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

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

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

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

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

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

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

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

附圖說明

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

具體實施方式

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

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

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

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

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

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

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

s2的原理和好處為:若app在執(zhí)行s1的過程中不在ios客戶端運行,則可能出現(xiàn)2種情形:1、app在ios客戶端前臺運行,此時ios客戶端會持續(xù)進行后臺定位;2、ios客戶端關(guān)閉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進行保存;關(guān)閉ios客戶端的后臺定位功能,通過backgroundtask接管app的后臺運行權(quán)限,轉(zhuǎn)到s4。

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

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

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

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

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

通過s4和s5可知,本發(fā)明的后臺定位功能為定時開啟,與現(xiàn)有技術(shù)中持續(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),關(guān)閉ios客戶端的后臺定位功能,通過backgroundtask接管app的后臺運行權(quán)限,向后臺定位刷新模塊發(fā)送后臺定位刷新信號:

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

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

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

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
娄底市| 乐安县| 潢川县| 禹城市| 普陀区| 海安县| 含山县| 黄冈市| 黄大仙区| 黑河市| 古田县| 施甸县| 尼木县| 滁州市| 茂名市| 尼木县| 亳州市| 芮城县| 兴宁市| 喀什市| 龙里县| 盐亭县| 田林县| 丘北县| 盐津县| 长泰县| 莒南县| 宜阳县| 德州市| 汕头市| 武鸣县| 万州区| 岳池县| 双鸭山市| 锦屏县| 凤阳县| 德州市| 安化县| 鹰潭市| 孟州市| 青海省|