本發(fā)明總體說來涉及終端的操作處理領(lǐng)域。更具體地講,涉及一種撤銷操作的方法和設(shè)備。
背景技術(shù):
隨著電子技術(shù)的發(fā)展,越來越多的人使用智能設(shè)備,同時(shí)智能設(shè)備的功能也越來越多。當(dāng)用戶在智能設(shè)備上做了某些誤操作,如刪除某個(gè)文件、設(shè)置了某個(gè)錯(cuò)誤的設(shè)定、卸載了某款游戲等等,如果想要撤銷這些誤操作,需要人工的操作來逐步地撤銷,例如找回文件、恢復(fù)設(shè)置、重新安裝并且找回游戲的記錄的時(shí)候,往往需要重新編輯文件或者找到設(shè)置錯(cuò)誤的設(shè)定并重新設(shè)定或者重新安裝游戲并從頭開始游戲。這些都會對用戶造成相當(dāng)大的不便,且往往不一定能達(dá)到撤銷誤操作的效果。
此外,隨著中國老齡化的增加,老人用戶將會成為一個(gè)巨大的商機(jī),越來越多的老人也開始用智能設(shè)備。但是老人用戶對智能設(shè)備機(jī)操作不熟悉,容易導(dǎo)致很多誤操作,造成無法挽回的失誤。這也將會對用戶造成很大的不便利。
因此,現(xiàn)有的撤銷操作的方法完全依靠人工的操作來逐步地來撤銷,操作不簡便且效果不佳。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種撤銷操作的方法和設(shè)備,以解決現(xiàn)有的撤銷操作的方法操作不簡便且效果不佳的問題。
本發(fā)明的一方面提供一種撤銷操作的方法,包括:a)獲取在一個(gè)應(yīng)用中用戶進(jìn)行的操作;b)根據(jù)可撤銷的操作信息來確定所述操作是否為可撤銷的操作;c)當(dāng)所述操作為可撤銷的操作時(shí),獲取并保存與所述操作相關(guān)的數(shù)據(jù);d)當(dāng)接收到撤銷所述操作的輸入時(shí),獲取與所述操作相關(guān)的數(shù)據(jù);e)經(jīng)由所述一個(gè)應(yīng)用提供的接口,利用與所述操作相關(guān)的數(shù)據(jù)來撤銷所述操作。
可選地,在所述方法中,所述可撤銷的操作信息對應(yīng)于所述一個(gè)應(yīng)用。
可選地,在所述方法中,當(dāng)在步驟(c)和步驟(d)之間還接收到在一個(gè)應(yīng)用中用戶進(jìn)行的至少一個(gè)其他操作時(shí),針對所述至少一個(gè)其他操作中的每個(gè)其他操作執(zhí)行步驟f),根據(jù)可撤銷的操作信息來確定任意一個(gè)其他操作是否為可撤銷的操作;當(dāng)所述任意一個(gè)其他操作為可撤銷的操作時(shí),獲取并保存與所述任意一個(gè)其他操作相關(guān)的數(shù)據(jù)。
可選地,在所述方法中,步驟d)包括:當(dāng)接收到撤銷所述操作的輸入時(shí),獲取與所述操作相關(guān)的數(shù)據(jù),在所述至少一個(gè)其他操作中獲取所述操作的關(guān)聯(lián)操作,獲取與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù)。
可選地,在所述方法中,所述關(guān)聯(lián)操作包括與所述操作有直接依賴關(guān)系的第一操作。
可選地,在所述方法中,所述關(guān)聯(lián)操作還包括與所述操作具有間接依賴關(guān)系的至少一個(gè)第二操作,其中,在所述第一操作和上述至少一個(gè)第二操作之中,時(shí)序相鄰的兩個(gè)操作具有直接依賴關(guān)系。
可選地,在所述方法的步驟d)中,根據(jù)預(yù)設(shè)的操作依賴關(guān)系表來確定兩個(gè)操作是否具有直接依賴關(guān)系。
可選地,在所述方法的步驟f)中,當(dāng)所述任意一個(gè)其他操作為可撤銷的操作時(shí),確定所述任意一個(gè)其他操作是否與在所述一個(gè)應(yīng)用中用戶進(jìn)行的所述任意一個(gè)操作之前的操作有直接依賴關(guān)系,其中,當(dāng)確定所述任意一個(gè)其他操作與在所述一個(gè)應(yīng)用中用戶進(jìn)行的所述任意一個(gè)操作的前一操作有直接依賴關(guān)系時(shí),記錄所述任意一個(gè)其他操作與在所述一個(gè)應(yīng)用中用戶進(jìn)行的所述任意一個(gè)操作的前一操作之間的關(guān)系。
可選地,在所述方法中,在所述至少一個(gè)其他操作中獲取所述操作的關(guān)聯(lián)操作包括:根據(jù)記錄的關(guān)系,在所述至少一個(gè)其他操作中獲取所述操作的關(guān)聯(lián)操作。
可選地,在所述方法中,步驟e)包括:經(jīng)由所述一個(gè)應(yīng)用提供的接口,利用與所述操作相關(guān)的數(shù)據(jù)以及與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù)來撤銷所述操作。
可選地,在所述方法中,利用與所述操作相關(guān)的數(shù)據(jù)以及與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù)來撤銷所述操作的步驟包括:按照所述關(guān)聯(lián)操作以及所述操作的發(fā)生的時(shí)間從后到前的順序,利用與所述操作相關(guān)的數(shù)據(jù)以及與所述關(guān)聯(lián) 操作相關(guān)的數(shù)據(jù),來依次撤銷所述關(guān)聯(lián)操作以及所述第一操作。
可選地,在所述方法中,與所述操作相關(guān)的數(shù)據(jù)包括:所述操作的還原路徑、所述操作的原始數(shù)據(jù),所述還原路徑為撤銷所述操作需要執(zhí)行的操作過程,所述還原數(shù)據(jù)為撤銷所述操作需要使用的數(shù)據(jù)。
可選地,在所述方法的步驟c)中,還獲取并保存以下數(shù)據(jù)中的至少一項(xiàng):所述操作的名稱、所述操作的標(biāo)識號、所述操作發(fā)生的時(shí)間。
可選地,所述方法在步驟c)之后還包括:將操作的名稱按發(fā)生的時(shí)間的先后順序顯示在歷史操作界面中。
可選地,在所述方法中,所述歷史操作界面中顯示了與每個(gè)操作對應(yīng)的用于撤銷每個(gè)操作的控件,其中,撤銷所述操作的輸入為對所述操作在歷史操作界面中的對應(yīng)的控件的操作。
可選地,所述方法在步驟e)之后還包括:刪除與所述操作相關(guān)的數(shù)據(jù),在所述歷史操作界面中刪除所述操作名稱以及刪除所述操作對應(yīng)的控件。
本發(fā)明的另一方面還提供一種撤銷操作的設(shè)備,包括:操作獲取單元,獲取在一個(gè)應(yīng)用中用戶進(jìn)行的操作;確定單元,根據(jù)可撤銷的操作信息來確定所述操作是否為可撤銷的操作;數(shù)據(jù)保存單元,當(dāng)所述操作為可撤銷的操作時(shí),獲取并保存與所述操作相關(guān)的數(shù)據(jù);數(shù)據(jù)獲取單元,當(dāng)接收到撤銷所述操作的輸入時(shí),獲取與所述操作相關(guān)的數(shù)據(jù);撤銷單元,經(jīng)由所述一個(gè)應(yīng)用提供的接口,利用與所述操作相關(guān)的數(shù)據(jù)來撤銷所述操作。
可選地,在所述設(shè)備中,所述可撤銷的操作信息對應(yīng)于所述一個(gè)應(yīng)用。
可選地,所述設(shè)備還包括:其他操作獲取單元,在數(shù)據(jù)保存單元獲取并保存與所述操作相關(guān)的數(shù)據(jù)之后,以及數(shù)據(jù)獲取單元接接收到撤銷所述操作的輸入之前,接收到在一個(gè)應(yīng)用中用戶進(jìn)行的至少一個(gè)其他操作,針對所述至少一個(gè)其他操作中的每個(gè)其他操作,根據(jù)可撤銷的操作信息來確定任意一個(gè)其他操作是否為可撤銷的操作;當(dāng)所述任意一個(gè)其他操作為可撤銷的操作時(shí),獲取并保存與所述任意一個(gè)其他操作相關(guān)的數(shù)據(jù)。
可選地,在所述設(shè)備中,數(shù)據(jù)獲取單元當(dāng)接收到撤銷所述操作的輸入時(shí),獲取與所述操作相關(guān)的數(shù)據(jù),在所述至少一個(gè)其他操作中獲取所述操作的關(guān)聯(lián)操作,獲取與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù)。
可選地,在所述設(shè)備中,所述關(guān)聯(lián)操作包括與所述操作有直接依賴關(guān)系的第一操作。
可選地,在所述設(shè)備中,所述關(guān)聯(lián)操作還包括與所述操作具有間接依賴關(guān)系的至少一個(gè)第二操作,其中,在所述第一操作和上述至少一個(gè)第二操作之中,時(shí)序相鄰的兩個(gè)操作具有直接依賴關(guān)系。
可選地,在所述設(shè)備中,數(shù)據(jù)獲取單元根據(jù)預(yù)設(shè)的操作依賴關(guān)系表來確定兩個(gè)操作是否具有直接依賴關(guān)系。
可選地,在所述設(shè)備中,其他操作獲取單元當(dāng)所述任意一個(gè)其他操作為可撤銷的操作時(shí),確定所述任意一個(gè)其他操作是否與在所述一個(gè)應(yīng)用中用戶進(jìn)行的所述任意一個(gè)操作之前的操作有直接依賴關(guān)系,其中,當(dāng)確定所述任意一個(gè)其他操作與在所述一個(gè)應(yīng)用中用戶進(jìn)行的所述任意一個(gè)操作的前一操作有直接依賴關(guān)系時(shí),記錄所述任意一個(gè)其他操作與在所述一個(gè)應(yīng)用中用戶進(jìn)行的所述任意一個(gè)操作的前一操作之間的關(guān)系。
可選地,在所述設(shè)備中,在所述至少一個(gè)其他操作中獲取所述操作的關(guān)聯(lián)操作包括:根據(jù)記錄的關(guān)系,在所述至少一個(gè)其他操作中獲取所述操作的關(guān)聯(lián)操作。
可選地,在所述設(shè)備中,撤銷單元經(jīng)由所述一個(gè)應(yīng)用提供的接口,利用與所述操作相關(guān)的數(shù)據(jù)以及與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù)來撤銷所述操作。
可選地,在所述設(shè)備中,撤銷單元按照所述關(guān)聯(lián)操作以及所述操作的發(fā)生的時(shí)間從后到前的順序,利用與所述操作相關(guān)的數(shù)據(jù)以及與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù),來依次撤銷所述關(guān)聯(lián)操作以及所述第一操作。
可選地,在所述設(shè)備中,與所述操作相關(guān)的數(shù)據(jù)包括:所述操作的還原路徑、所述操作的原始數(shù)據(jù),所述還原路徑為撤銷所述操作需要執(zhí)行的操作過程,所述還原數(shù)據(jù)為撤銷所述操作需要使用的數(shù)據(jù)。
可選地,在所述設(shè)備中,數(shù)據(jù)獲取單元還獲取并保存以下數(shù)據(jù)中的至少一項(xiàng):所述操作的名稱、所述操作的標(biāo)識號、所述操作發(fā)生的時(shí)間。
可選地,所述設(shè)備還包括:操作顯示單元,在數(shù)據(jù)獲取單元獲取數(shù)據(jù)之后,將操作的名稱按發(fā)生的時(shí)間的先后順序顯示在歷史操作界面中。
可選地,在所述設(shè)備中,所述歷史操作界面中顯示了與每個(gè)操作對應(yīng)的用于撤銷每個(gè)操作的控件,撤銷所述操作的輸入為對所述操作在歷史操作界面中的對應(yīng)的控件的操作。
可選地,所述設(shè)備還包括刪除單元,在撤銷單元撤銷所述操作之后,刪除與所述操作相關(guān)的數(shù)據(jù),在所述歷史操作界面中刪除所述操作名稱以及刪 除所述操作對應(yīng)的控件。
在根據(jù)本發(fā)明的示例性實(shí)施例的撤銷操作的方法和設(shè)備中,通過在執(zhí)行操作時(shí)保存與撤銷所述操作時(shí)需要使用的數(shù)據(jù),從而可以利用該數(shù)據(jù)來自動(dòng)撤銷所述操作,無需人工的操作來逐步地撤銷。
將在接下來的描述中部分闡述本發(fā)明另外的方面和/或優(yōu)點(diǎn),還有一部分通過描述將是清楚的,或者可以經(jīng)過本發(fā)明的實(shí)施而得知。
附圖說明
通過下面結(jié)合附圖進(jìn)行的詳細(xì)描述,本發(fā)明的上述和其它目的、特點(diǎn)和優(yōu)點(diǎn)將會變得更加清楚,其中:
圖1是示出根據(jù)本發(fā)明的示例性實(shí)施例的撤銷操作的方法的流程圖;
圖2是示出根據(jù)本發(fā)明的示例性實(shí)施例的撤銷操作的設(shè)備的框圖。
具體實(shí)施方式
下面參照附圖詳細(xì)描述本發(fā)明的實(shí)施例。
圖1是示出根據(jù)本發(fā)明的示例性實(shí)施例的撤銷操作的方法的流程圖。根據(jù)本發(fā)明的示例性實(shí)施例的撤銷操作的方法可應(yīng)用在各種可與用戶進(jìn)行交互的終端(例如:移動(dòng)通信終端、個(gè)人計(jì)算機(jī)、平板電腦、游戲機(jī)、數(shù)字多媒體播放器等)中。
在步驟s10,獲取在一個(gè)應(yīng)用中用戶進(jìn)行的操作。這里,所述應(yīng)用包括安裝在終端中的各種應(yīng)用以及系統(tǒng)應(yīng)用。當(dāng)用戶在一個(gè)應(yīng)用中進(jìn)行一個(gè)操作時(shí),在步驟s10中,獲取所述用戶輸入的操作。
在步驟s20,根據(jù)可撤銷的操作信息來確定所述操作是否為可撤銷的操作。這里,可預(yù)先存儲可撤銷的操作的信息,例如,可以將該信息存儲在可撤銷的操作信息表中。這里,所述可撤銷的操作是指執(zhí)行該操作后,終端中的數(shù)據(jù)或設(shè)置會發(fā)生改變的操作。例如,所述可撤銷的操作可以是更改系統(tǒng)的各個(gè)設(shè)置、編輯短信息、刪除短消息、刪除文件、新建文件、安裝應(yīng)用程序、卸載應(yīng)用程序等??沙蜂N的操作可包括一套完整的用戶動(dòng)作。這里,可以將獲取到的每個(gè)用戶輸入的動(dòng)作與可撤銷的操作信息表中記錄的組成可撤銷的操作的一套完整的用戶動(dòng)作中的最后一個(gè)用戶動(dòng)作進(jìn)行對比,如果一致,則用戶輸入的該動(dòng)作與之前輸入的動(dòng)作組成的操作是可撤銷的操作,否則, 則用戶輸入的該動(dòng)作與之前輸入的動(dòng)作組成的操作不是為可撤銷的操作。
這里,由于針對不同的應(yīng)用,其可撤銷的操作可能不同,因此,所述可撤銷的操作信息可對應(yīng)于所述一個(gè)應(yīng)用。也就是說,所述可撤銷的操作信息可以以應(yīng)用為單位來存儲。
當(dāng)在步驟s20中確定所述操作為可撤銷的操作時(shí),執(zhí)行步驟s30;當(dāng)在步驟s20中確定所述操作不是可撤銷的操作時(shí),返回執(zhí)行步驟s10。
在步驟s30,當(dāng)所述操作為可撤銷的操作時(shí),獲取并保存與所述操作相關(guān)的數(shù)據(jù)。與所述操作相關(guān)的數(shù)據(jù)是指撤銷所述操作時(shí)需要使用的數(shù)據(jù)。例如,與所述操作相關(guān)的數(shù)據(jù)可以包括:所述操作的還原路徑、所述操作的原始數(shù)據(jù)。這樣,當(dāng)需要撤銷所述操作時(shí),可以按照所述保存的與所述操作相關(guān)的數(shù)據(jù)來撤銷所述操作。
所述還原路徑為撤銷所述操作需要執(zhí)行的操作過程。例如,對于所述操作是更改系統(tǒng)的設(shè)置的情況,所述還原路徑是重新設(shè)置系統(tǒng)的設(shè)置;對于所述操作是卸載一個(gè)應(yīng)用的情況,所述還原路徑是安裝所述一個(gè)應(yīng)用。這里,所述操作的還原路徑可以從預(yù)設(shè)的各個(gè)可撤銷操作的還原路徑中獲取。
所述還原數(shù)據(jù)為撤銷所述操作需要使用的數(shù)據(jù)。所述操作的還原數(shù)據(jù)可以從未執(zhí)行所述操作前的終端的存儲器中獲得。例如,對于所述操作是更改系統(tǒng)的設(shè)置的情況,所述還原數(shù)據(jù)是指更改系統(tǒng)的設(shè)置之前的系統(tǒng)的設(shè)置數(shù)據(jù)。對于所述操作是卸載一個(gè)應(yīng)用的情況,所述還原數(shù)據(jù)是指所述應(yīng)用的安裝文件以及該應(yīng)用在被卸載之前的設(shè)置文件,所述設(shè)置文件可以從所述應(yīng)用的文件夾中獲取,對于終端的存儲器中已經(jīng)保存了安裝文件的情況,可以獲取并保存該安裝文件的存儲地址,對于終端的存儲器中未安裝文件的情況,可以從該應(yīng)用中提取安裝文件。
這里,為了方便管理已執(zhí)行的可撤銷的操作,在步驟s30中,還可以獲取并保存以下數(shù)據(jù)中的至少一項(xiàng):所述操作的名稱、所述操作的標(biāo)識號、所述操作發(fā)生的時(shí)間。這里,可以將在步驟s30中獲取的各個(gè)數(shù)據(jù)保存在用戶操作信息表中。為了方便用戶查看已執(zhí)行的可撤銷的操作,可以將已執(zhí)行的可撤銷的操作按發(fā)生的時(shí)間的先后順序顯示在歷史操作界面中。例如,所述已執(zhí)行的可撤銷的操作可以按發(fā)生的時(shí)間的先后順序以列表的形式顯示所述歷史操作界面。例如,可以在終端的桌面上顯示一個(gè)控件,在用戶對該控件進(jìn)行操作后,可以顯示所述歷史操作界面。
這里,為了節(jié)約存儲空間,在步驟s30獲取的數(shù)據(jù)可以保存在互聯(lián)網(wǎng)上的存儲空間中,例如云端。
在步驟s40,當(dāng)接收到撤銷所述操作的輸入時(shí),獲取與所述操作相關(guān)的數(shù)據(jù)。如上所述,與所述操作相關(guān)的數(shù)據(jù)是指撤銷所述操作時(shí)需要使用的數(shù)據(jù)。這里,可以通過各種用戶輸入來接收撤銷所述操作的輸入。例如,在上述歷史操作界面中可顯示與每個(gè)操作對應(yīng)的用于撤銷每個(gè)操作的控件,從而可以通過接收對所述操作在歷史操作界面中的對應(yīng)的控件的操作來接收撤銷所述操作的輸入。
在步驟s50,經(jīng)由所述一個(gè)應(yīng)用提供的接口,利用與所述操作相關(guān)的數(shù)據(jù)來撤銷所述操作。具體說來,可以利用所述還原數(shù)據(jù)按照所述還原路徑來撤銷所述操作。
在另一個(gè)實(shí)施例中,當(dāng)在步驟s30與步驟s40之間還接收到在一個(gè)應(yīng)用中用戶進(jìn)行的至少一個(gè)其他操作時(shí),對于所述至少一個(gè)其他操作中的可撤銷的操作,同樣需要獲取并保存與所述可撤銷的操作相關(guān)的數(shù)據(jù)。具體說來,針對所述至少一個(gè)其他操作中的每個(gè)其他操作,根據(jù)可撤銷的操作信息來確定任意一個(gè)其他操作是否為可撤銷的操作;當(dāng)所述任意一個(gè)其他操作為可撤銷的操作時(shí),獲取并保存與所述任意一個(gè)其他操作相關(guān)的數(shù)據(jù)。
由于在同一個(gè)應(yīng)用中先后發(fā)生的操作中,在后發(fā)生的操作可能會影響撤銷在前發(fā)生的操作的數(shù)據(jù)基礎(chǔ),這里,會影響撤銷在前發(fā)生的操作的數(shù)據(jù)基礎(chǔ)的在后發(fā)生的操作被稱為在前發(fā)生的操作的關(guān)聯(lián)操作,所以在撤銷在前發(fā)生的操作時(shí),需要先撤銷所述關(guān)聯(lián)操作。例如,在通訊錄應(yīng)用中,用戶先刪除了一個(gè)聯(lián)系人,再卸載了通訊錄應(yīng)用,當(dāng)用戶需要撤銷刪除所述一個(gè)聯(lián)系人的操作時(shí),需要先撤銷卸載通訊錄應(yīng)用的操作,即需要先安裝所述通訊錄應(yīng)用,然后才能撤銷刪除所述一個(gè)聯(lián)系人的操作,即添加所述聯(lián)系人,這里,所述卸載通信錄應(yīng)用的操作為所述刪除聯(lián)系人的操作的關(guān)聯(lián)操作。
這里,在前發(fā)生的操作的關(guān)聯(lián)操作可能包括兩個(gè)以上的操作,在所述兩個(gè)以上的操作中,時(shí)序相鄰的兩個(gè)操作具有直接依賴關(guān)系,與在前發(fā)生的操作時(shí)序最近的操作為與所述在前發(fā)生的操作具有直接依賴關(guān)系的第一操作,其他的操作為與所述在前發(fā)生的操作具有間接依賴關(guān)系的第二操作。
因此,在步驟s40,當(dāng)接收到撤銷所述操作的輸入時(shí),除了獲取與所述操作相關(guān)的數(shù)據(jù),還要在所述至少一個(gè)其他操作中獲取所述操作的關(guān)聯(lián)操作, 獲取與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù)。所述關(guān)聯(lián)操作可包括與所述操作有直接依賴關(guān)系的第一操作。所述關(guān)聯(lián)操作還可包括與所述操作有間接依賴關(guān)系的至少一個(gè)第二操作。
這里,可以預(yù)先存儲一個(gè)預(yù)設(shè)的操作依賴關(guān)系表,所述操作依賴關(guān)系表中記錄了與每個(gè)可撤銷的操作具有直接依賴關(guān)系的操作。在步驟s40中,可根據(jù)預(yù)設(shè)的操作依賴關(guān)系表來確定兩個(gè)操作是否具有直接依賴關(guān)系。
此外,還可以在步驟s30與步驟s40之間還接收到在一個(gè)應(yīng)用中用戶進(jìn)行的至少一個(gè)其他操作時(shí),根據(jù)可撤銷的操作信息來確定任意一個(gè)其他操作是否為可撤銷的操作,當(dāng)所述任意一個(gè)其他操作為可撤銷的操作時(shí),確定所述任意一個(gè)其他操作是否與在所述一個(gè)應(yīng)用中用戶進(jìn)行的所述任意一個(gè)操作之前的操作有直接依賴關(guān)系。當(dāng)確定所述任意一個(gè)其他操作與在所述一個(gè)應(yīng)用中用戶進(jìn)行的所述任意一個(gè)操作的前一操作有直接依賴關(guān)系時(shí),記錄所述任意一個(gè)其他操作與在所述一個(gè)應(yīng)用中用戶進(jìn)行的所述任意一個(gè)操作的前一操作之間的關(guān)系。從而在步驟s40中,可以根據(jù)所述記錄的關(guān)系,在所述至少一個(gè)其他操作中獲取所述操作的關(guān)聯(lián)操作。
相應(yīng)地,在步驟s50中,經(jīng)由所述一個(gè)應(yīng)用提供的接口,利用與所述操作相關(guān)的數(shù)據(jù)以及與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù)來撤銷所述操作。具體說來,可以按照所述關(guān)聯(lián)操作以及所述操作的發(fā)生的時(shí)間從后到前的順序,利用與所述操作相關(guān)的數(shù)據(jù)以及與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù),來依次撤銷所述關(guān)聯(lián)操作以及所述第一操作。
此外,在步驟s50之后,所述方法還可以包括:刪除與所述操作相關(guān)的數(shù)據(jù),在所述歷史操作界面中刪除所述操作的名稱以及所述操作對應(yīng)的控件。在所述操作具有關(guān)聯(lián)操作時(shí),還需要?jiǎng)h除與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù),在所述歷史操作界面中刪除所述關(guān)聯(lián)操作的名稱以及所述關(guān)聯(lián)操作對應(yīng)的控件。
根據(jù)本發(fā)明示例性實(shí)施例的撤銷操作的方法的功能可由用戶來控制開啟或關(guān)閉。例如,可在系統(tǒng)設(shè)置界面中設(shè)置用于開啟或關(guān)閉所述功能的控件。此外,用戶還可以通過該控件來設(shè)置所述功能開啟的時(shí)間長度。例如,通過該控件來進(jìn)入用于設(shè)置時(shí)間長度的界面來設(shè)置功能開啟的時(shí)間長度。
圖2是示出根據(jù)本發(fā)明的示例性實(shí)施例的撤銷操作的設(shè)備的框圖。根據(jù)本發(fā)明的示例性實(shí)施例的撤銷操作的設(shè)備可應(yīng)用在各種可與用戶進(jìn)行交互的終端(例如:移動(dòng)通信終端、個(gè)人計(jì)算機(jī)、平板電腦、游戲機(jī)、數(shù)字多媒體 播放器等)中。如圖2所示,根據(jù)本發(fā)明的示例性實(shí)施例的撤銷操作的設(shè)備包括:操作獲取單元10、確定單元20、數(shù)據(jù)保存單元30、數(shù)據(jù)獲取單元40和撤銷單元50。
操作獲取單元10獲取在一個(gè)應(yīng)用中用戶進(jìn)行的操作。這里,所述應(yīng)用包括安裝在終端中的各種應(yīng)用以及系統(tǒng)應(yīng)用。當(dāng)用戶在一個(gè)應(yīng)用中進(jìn)行一個(gè)操作時(shí),操作獲取單元10獲取所述用戶輸入的操作。
確定單元20根據(jù)可撤銷的操作信息來確定所述操作是否為可撤銷的操作。這里,可預(yù)先存儲可撤銷的操作的信息,例如,可以將該信息存儲在可撤銷的操作信息表中。這里,所述可撤銷的操作是指執(zhí)行該操作后,終端中的數(shù)據(jù)或設(shè)置會發(fā)生改變的操作。例如,所述可撤銷的操作可以是更改系統(tǒng)的各個(gè)設(shè)置、編輯短信息、刪除短消息、刪除文件、新建文件、安裝應(yīng)用程序、卸載應(yīng)用程序等??沙蜂N的操作可包括一套完整的用戶動(dòng)作。這里,確定單元20可以將獲取到的每個(gè)用戶輸入的動(dòng)作與可撤銷的操作信息表中記錄的組成可撤銷的操作的一套完整的用戶動(dòng)作中的最后一個(gè)用戶動(dòng)作進(jìn)行對比,如果一致,則用戶輸入的該動(dòng)作與之前輸入的動(dòng)作組成的操作是可撤銷的操作,否則,則用戶輸入的該動(dòng)作與之前輸入的動(dòng)作組成的操作不是為可撤銷的操作。
這里,由于針對不同的應(yīng)用,其可撤銷的操作可能不同,因此,所述可撤銷的操作信息可對應(yīng)于所述一個(gè)應(yīng)用。也就是說,所述可撤銷的操作信息可以以應(yīng)用為單位來存儲。
數(shù)據(jù)保存單元30當(dāng)所述操作為可撤銷的操作時(shí),獲取并保存與所述操作相關(guān)的數(shù)據(jù)。與所述操作相關(guān)的數(shù)據(jù)是指撤銷所述操作時(shí)需要使用的數(shù)據(jù)。例如,與所述操作相關(guān)的數(shù)據(jù)可以包括:所述操作的還原路徑、所述操作的原始數(shù)據(jù)。這樣,當(dāng)需要撤銷所述操作時(shí),可以按照所述保存的與所述操作相關(guān)的數(shù)據(jù)來撤銷所述操作。
所述還原路徑為撤銷所述操作需要執(zhí)行的操作過程。例如,對于所述操作是更改系統(tǒng)的設(shè)置的情況,所述還原路徑是重新設(shè)置系統(tǒng)的設(shè)置;對于所述操作是卸載一個(gè)應(yīng)用的情況,所述還原路徑是安裝所述一個(gè)應(yīng)用。這里,所述操作的還原路徑可以從預(yù)設(shè)的各個(gè)可撤銷操作的還原路徑中獲取。
所述還原數(shù)據(jù)為撤銷所述操作需要使用的數(shù)據(jù)。所述操作的還原數(shù)據(jù)可以從未執(zhí)行所述操作前的終端的存儲器中獲得。例如,對于所述操作是更改 系統(tǒng)的設(shè)置的情況,所述還原數(shù)據(jù)是指更改系統(tǒng)的設(shè)置之前的系統(tǒng)的設(shè)置數(shù)據(jù)。對于所述操作是卸載一個(gè)應(yīng)用的情況,所述還原數(shù)據(jù)是指所述應(yīng)用的安裝文件以及該應(yīng)用在被卸載之前的設(shè)置文件,所述設(shè)置文件可以從所述應(yīng)用的文件夾中獲取,對于終端的存儲器中已經(jīng)保存了安裝文件的情況,可以獲取并保存該安裝文件的存儲地址,對于終端的存儲器中未安裝文件的情況,可以從該應(yīng)用中提取安裝文件。
這里,為了方便管理已執(zhí)行的可撤銷的操作,數(shù)據(jù)保存單元30還可以獲取并保存以下數(shù)據(jù)中的至少一項(xiàng):所述操作的名稱、所述操作的標(biāo)識號、所述操作發(fā)生的時(shí)間。這里,可以將數(shù)據(jù)保存單元30獲取的各個(gè)數(shù)據(jù)保存在用戶操作信息表中。為了方便用戶查看已執(zhí)行的可撤銷的操作,所述設(shè)備還可以包括操作顯示單元(未示出)。操作顯示單元可以將已執(zhí)行的可撤銷的操作按發(fā)生的時(shí)間的先后順序顯示在歷史操作界面中。例如,所述已執(zhí)行的可撤銷的操作可以按發(fā)生的時(shí)間的先后順序以列表的形式顯示所述歷史操作界面。例如,可以在終端的桌面上顯示一個(gè)控件,在用戶對該控件進(jìn)行操作后,可以顯示所述歷史操作界面。
這里,為了節(jié)約存儲空間,數(shù)據(jù)保存單元30獲取的數(shù)據(jù)可以保存在互聯(lián)網(wǎng)上的存儲空間中,例如云端。
數(shù)據(jù)獲取單元40當(dāng)接收到撤銷所述操作的輸入時(shí),獲取與所述操作相關(guān)的數(shù)據(jù)。如上所述,與所述操作相關(guān)的數(shù)據(jù)是指撤銷所述操作時(shí)需要使用的數(shù)據(jù)。這里,可以通過各種用戶輸入來接收撤銷所述操作的輸入。例如,在上述歷史操作界面中可顯示與每個(gè)操作對應(yīng)的用于撤銷每個(gè)操作的控件,從而可以通過接收對所述操作在歷史操作界面中的對應(yīng)的控件的操作來接收撤銷所述操作的輸入。
撤銷單元50經(jīng)由所述一個(gè)應(yīng)用提供的接口,利用與所述操作相關(guān)的數(shù)據(jù)來撤銷所述操作。具體說來,可以利用所述還原數(shù)據(jù)按照所述還原路徑來撤銷所述操作。
在另一個(gè)實(shí)施例中,當(dāng)在數(shù)據(jù)保存單元獲取并保存與所述操作相關(guān)的數(shù)據(jù)之后,以及數(shù)據(jù)獲取單元接接收到撤銷所述操作的輸入之前,還接收到在一個(gè)應(yīng)用中用戶進(jìn)行的至少一個(gè)其他操作時(shí),對于所述至少一個(gè)其他操作中的可撤銷的操作,同樣需要獲取并保存與所述可撤銷的操作相關(guān)的數(shù)據(jù)。具體說來,所述設(shè)備還可包括其他操作獲取單元(未示出),在數(shù)據(jù)保存單元獲 取并保存與所述操作相關(guān)的數(shù)據(jù)之后,以及數(shù)據(jù)獲取單元接接收到撤銷所述操作的輸入之前,接收到在一個(gè)應(yīng)用中用戶進(jìn)行的至少一個(gè)其他操作,針對所述至少一個(gè)其他操作中的每個(gè)其他操作,根據(jù)可撤銷的操作信息來確定任意一個(gè)其他操作是否為可撤銷的操作;當(dāng)所述任意一個(gè)其他操作為可撤銷的操作時(shí),獲取并保存與所述任意一個(gè)其他操作相關(guān)的數(shù)據(jù)。
由于在同一個(gè)應(yīng)用中先后發(fā)生的操作中,在后發(fā)生的操作可能會影響撤銷在前發(fā)生的操作的數(shù)據(jù)基礎(chǔ),這里,會影響撤銷在前發(fā)生的操作的數(shù)據(jù)基礎(chǔ)的在后發(fā)生的操作被稱為在前發(fā)生的操作的關(guān)聯(lián)操作,所以在撤銷在前發(fā)生的操作時(shí),需要先撤銷所述關(guān)聯(lián)操作。例如,在通訊錄應(yīng)用中,用戶先刪除了一個(gè)聯(lián)系人,再卸載了通訊錄應(yīng)用,當(dāng)用戶需要撤銷刪除所述一個(gè)聯(lián)系人的操作時(shí),需要先撤銷卸載通訊錄應(yīng)用的操作,即需要先安裝所述通訊錄應(yīng)用,然后才能撤銷刪除所述一個(gè)聯(lián)系人的操作,即添加所述聯(lián)系人,這里,所述卸載通信錄應(yīng)用的操作為所述刪除聯(lián)系人的操作的關(guān)聯(lián)操作。
這里,在前發(fā)生的操作的關(guān)聯(lián)操作可能包括兩個(gè)以上的操作,在所述兩個(gè)以上的操作中,時(shí)序相鄰的兩個(gè)操作具有直接依賴關(guān)系,與在前發(fā)生的操作時(shí)序最近的操作為與所述在前發(fā)生的操作具有直接依賴關(guān)系的第一操作,其他的操作為與所述在前發(fā)生的操作具有間接依賴關(guān)系的第二操作。
因此,數(shù)據(jù)獲取單元40當(dāng)接收到撤銷所述操作的輸入時(shí),除了獲取與所述操作相關(guān)的數(shù)據(jù),還要在所述至少一個(gè)其他操作中獲取所述操作的關(guān)聯(lián)操作,獲取與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù)。所述關(guān)聯(lián)操作可包括與所述操作有直接依賴關(guān)系的第一操作。所述關(guān)聯(lián)操作還可包括與所述操作有間接依賴關(guān)系的至少一個(gè)第二操作。
這里,可以預(yù)先存儲一個(gè)預(yù)設(shè)的操作依賴關(guān)系表,所述操作依賴關(guān)系表中記錄了與每個(gè)可撤銷的操作具有直接依賴關(guān)系的操作。數(shù)據(jù)獲取單元40可根據(jù)預(yù)設(shè)的操作依賴關(guān)系表來確定兩個(gè)操作是否具有直接依賴關(guān)系。
此外,其他操作獲取單元根據(jù)可撤銷的操作信息來確定任意一個(gè)其他操作是否為可撤銷的操作,當(dāng)所述任意一個(gè)其他操作為可撤銷的操作時(shí),還確定所述任意一個(gè)其他操作是否與在所述一個(gè)應(yīng)用中用戶進(jìn)行的所述任意一個(gè)操作之前的操作有直接依賴關(guān)系。當(dāng)確定所述任意一個(gè)其他操作與在所述一個(gè)應(yīng)用中用戶進(jìn)行的所述任意一個(gè)操作的前一操作有直接依賴關(guān)系時(shí),其他操作獲取單元記錄所述任意一個(gè)其他操作與在所述一個(gè)應(yīng)用中用戶進(jìn)行的所 述任意一個(gè)操作的前一操作之間的關(guān)系。從而數(shù)據(jù)保存單元可以根據(jù)其他操作獲取單元記錄的關(guān)系,在所述至少一個(gè)其他操作中獲取所述操作的關(guān)聯(lián)操作。
相應(yīng)地,撤銷單元50經(jīng)由所述一個(gè)應(yīng)用提供的接口,利用與所述操作相關(guān)的數(shù)據(jù)以及與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù)來撤銷所述操作。具體說來,可以按照所述關(guān)聯(lián)操作以及所述操作的發(fā)生的時(shí)間從后到前的順序,利用與所述操作相關(guān)的數(shù)據(jù)以及與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù),來依次撤銷所述關(guān)聯(lián)操作以及所述第一操作。
此外,所述設(shè)備還可包括刪除單元(未示出)。刪除單元在撤銷單元50撤銷所述操作之后,刪除與所述操作相關(guān)的數(shù)據(jù),在所述歷史操作界面中刪除所述操作的名稱以及所述操作對應(yīng)的控件。在所述操作具有關(guān)聯(lián)操作時(shí),刪除單元還需要?jiǎng)h除與所述關(guān)聯(lián)操作相關(guān)的數(shù)據(jù),在所述歷史操作界面中刪除所述關(guān)聯(lián)操作的名稱以及所述關(guān)聯(lián)操作對應(yīng)的控件。
根據(jù)本發(fā)明示例性實(shí)施例的撤銷操作的方法的功能可由用戶來控制開啟或關(guān)閉。例如,可在系統(tǒng)設(shè)置界面中設(shè)置用于開啟或關(guān)閉所述功能的控件。此外,用戶還可以通過該控件來設(shè)置所述功能開啟的時(shí)間長度。例如,通過該控件來進(jìn)入用于設(shè)置時(shí)間長度的界面來設(shè)置功能開啟的時(shí)間長度。
在根據(jù)本發(fā)明的示例性實(shí)施例的撤銷操作的方法和設(shè)備中,通過在執(zhí)行操作時(shí)保存與撤銷所述操作時(shí)需要使用的數(shù)據(jù),從而可以利用該數(shù)據(jù)來自動(dòng)撤銷所述操作,無需人工的操作來逐步地撤銷。
此外,應(yīng)該理解,根據(jù)本發(fā)明的撤銷輸入的方法也可實(shí)現(xiàn)為計(jì)算機(jī)可讀記錄介質(zhì)上的計(jì)算機(jī)可讀代碼。計(jì)算機(jī)可讀記錄介質(zhì)是可存儲其后可由計(jì)算機(jī)系統(tǒng)讀出的數(shù)據(jù)的任意數(shù)據(jù)存儲裝置。計(jì)算機(jī)可讀記錄介質(zhì)的示例包括:只讀存儲器(rom)、隨機(jī)存取存儲器(ram)、cd-rom、磁帶、軟盤、光數(shù)據(jù)存儲裝置和載波(諸如經(jīng)有線或無線傳輸路徑通過互聯(lián)網(wǎng)的數(shù)據(jù)傳輸)。計(jì)算機(jī)可讀記錄介質(zhì)也可分布于連接網(wǎng)絡(luò)的計(jì)算機(jī)系統(tǒng),從而計(jì)算機(jī)可讀代碼以分布式存儲和執(zhí)行。此外,完成本發(fā)明的功能程序、代碼和代碼段可容易地被與本發(fā)明相關(guān)的領(lǐng)域的普通程序員在本發(fā)明的范圍之內(nèi)解釋。
此外,根據(jù)本發(fā)明的示例性實(shí)施例的撤銷輸入的設(shè)備中的各個(gè)單元可完全由硬件來實(shí)現(xiàn),例如現(xiàn)場可編程門陣列(fpga)或?qū)S眉呻娐?asic);還可以由硬件和軟件相結(jié)合的方式來實(shí)現(xiàn);也可以完全通過計(jì)算機(jī)程序來以 軟件方式實(shí)現(xiàn),例如,被實(shí)現(xiàn)為安裝在終端中用于撤銷操作的應(yīng)用中的各個(gè)模塊。
盡管已經(jīng)參照其示例性實(shí)施例具體顯示和描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解,在不脫離權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,可以對其進(jìn)行形式和細(xì)節(jié)上的各種改變。