[發明專利]一種安卓應用的深鏈接口自動生成方法及深鏈執行方法在審
| 申請號: | 201711134577.1 | 申請日: | 2017-11-16 |
| 公開(公告)號: | CN108008941A | 公開(公告)日: | 2018-05-08 |
| 發明(設計)人: | 劉譞哲;馬鄆;胡子牛;柳熠;黃罡 | 申請(專利權)人: | 北京大學 |
| 主分類號: | G06F8/30 | 分類號: | G06F8/30;G06F17/30 |
| 代理公司: | 北京君尚知識產權代理事務所(普通合伙) 11200 | 代理人: | 司立彬 |
| 地址: | 100871 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 應用 鏈接 自動 生成 方法 執行 | ||
1.一種安卓應用的深鏈接口自動生成方法,其步驟包括:
1)對于目標安卓應用程序的代碼中每一設定Activity,獲取到達該Activity的Intent序列;
2)針對該目標安卓應用程序的代碼中每一選定的目標Activity,生成從該選定的目標Activity的入口到達其內部設定Fragment的操作序列;
3)根據所述Intent序列和所述操作序列構成該目標安卓應用程序中各設定位置的深鏈模板,即得到各設定位置對應的深鏈接口;
其中,獲取到達該Activity的Intent序列的方法為:首先構造該目標安卓應用程序的Activity導航關系圖;然后根據該Activity導航關系圖,獲取從應用入口Activity到達該Activity的路徑,然后選取最短路徑所對應的Intent序列,作為從應用入口Activity到達該Activity的Intent序列。
2.如權利要求1所述的方法,其特征在于,生成所述操作序列的方法為:為所述目標Activity中的每一Fragment生成一標識;生成所述目標Activity的Fragment切換圖FTG<P,D,p>;其中,P代表一個頂點集合,Activity中每一Fragment的標識對應一頂點;D是有向邊的集合,每一條邊是一個三元組e<s,t,i>,s代表源Fragment,t為目標Fragment,i代表引發切換的控件的標識id;p是起始點,即Activity剛打開時的主頁面;然后根據所述目標Activity的Fragment切換圖,將從起始點到目標Fragment的邊串聯起來,得到所述目標Activity的Fragment的操作序列。
3.如權利要求2所述的方法,其特征在于,為所述目標Activity中的每一Fragment生成一標識的方法為:獲取安卓系統為該目標安卓應用程序在運行時構造的控件樹;計算該控件樹的哈希值,然后用該哈希值來標識當前的Fragment。
4.如權利要求3所述的方法,其特征在于,計算所述控件樹的哈希值的方法為:對于該控件樹中的一個節點q,如果節點q在控件樹中沒有子節點,則結果為節點q對應控件的標簽字符串哈希;如果節點q有子節點,則遞歸計算出節點q所有子節點的哈希;然后根據節點q的子節點的哈希值對節點q的子節點排序來保證哈希結構的一致性,再將每個子節點的哈希值與控件的標簽加起來形成一個新的字符串,最終將該新的字符串的哈希值作為節點q的哈希。
5.如權利要求2所述的方法,其特征在于,獲得所述Fragment切換圖的方法為:首先點擊當前Fragment的每個控件來檢查Activity是否改變,如果Activity改變,則調用系統函數doback()直接返回前一個狀態,返回之后繼續遍歷;如果Activity改變,則檢查當前Fragment的狀態,如果當前Fragment的標識與之前的不同,且當前Fragment是一個新的Fragment,則其加入Fragment切換圖中,并且記錄邊的信息為發生切換的控件;如果沒有發生Fragment切換則繼續遍歷;在完成遍歷搜索后,得到所述Fragment切換圖以及所有Fragment的列表。
6.一種基于權利要求1所述方法生成的深鏈接口的深鏈執行方法,其特征在于,代理Activity根據深鏈請求查找對應的深鏈模板并對其實例化,構造一個可跳轉到該深鏈請求對應目標位置的腳本;然后根據腳本,回放引擎控制安卓應用在Activity之間切換,并在控件上進行操作,達到目標位置;所述深鏈請求中包含深鏈對應深鏈模板中的參數所需要的賦值;
其中,獲取到達該Activity的Intent序列的方法為:首先構造該目標安卓應用程序的Activity導航關系圖;然后根據該Activity導航關系圖,獲取從應用入口Activity到達該Activity的路徑,然后選取最短路徑所對應的Intent序列,作為從應用入口Activity到達該Activity的Intent序列。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學,未經北京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711134577.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種均勻噴灑的灑水設備
- 下一篇:一種多芯呼吸過來器濾殼





