

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