Deeplink跳轉快應用返回出現兩次系統添加桌面的彈框,deeplink原理Deeplink jump fast應用返回系統兩次添加桌面的彈出框。現象描述從應用市場打開快應用,點擊返回,系統添加桌面圖標的彈出窗口只出現一次。但是當你使用deeplink打開跳轉頁面點擊返回時,系統增加了桌面圖標,會彈出一次,然后再次閃......
現象描述
從應用市場打開快應用,點擊返回,系統添加桌面圖標的彈出窗口只出現一次。但是當你使用deeplink打開跳轉頁面點擊返回時,系統增加了桌面圖標,會彈出一次,然后再次閃爍。
問題分析
現在網絡正常通過Deeplink和網頁跳轉進入快捷應用時,使用系統創建桌面圖標時,彈出框出現一次,就不會再閃了。通過分析Deeplink跳轉的頁面代碼,發現頁面代碼中重寫了onBackPress函數。
其中this.entryDirect是跳轉時Deeplink攜帶的參數。
當用戶單擊后退按鈕時,OnBackPress被觸發。當返回true時,頁面按照自己的返回邏輯進行處理;返回false時,按照默認的返回邏輯進行處理;如果沒有返回false,則根據默認的返回邏輯進行處理。
在這段代碼中,開發者在onBackPress中判斷Deeplink已經進入快應用時,調用this.app.exit()退出應用。此時會觸發finish事件,但是開發人員在onBackPress中沒有返回true,所以按照默認的返回邏輯處理,這也觸發了finish事件。聽完finish事件后,fast應用中心會彈出一個框,引導用戶創建一個圖標,導致兩個彈出框
解決方法
修改onBackPress函數代碼的接口,調用this.app.exit()退出應用程序,不再使用默認按鈕返回邏輯。
建議和總結
當頁面需要使用onBackPress函數處理自己的邏輯時,需要在函數結束時返回true。否則系統在處理onBackPress代碼后會默認返回邏輯,容易導致異常。
特別聲明:以上文章內容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關于作品內容、版權或其它問題請于作品發表后的30日內與ESG跨境電商聯系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯系在線顧問
小程序
ESG跨境小程序
手機入駐更便捷
返回頂部