AppGallery Connect:Deeplink跳轉(zhuǎn)快應(yīng)用返回出現(xiàn)兩次系統(tǒng)添加桌面的彈框

來源: HUAWEI
作者:AppGallery Connect
時間:2020-12-02
17483
現(xiàn)網(wǎng)正常通過Deeplink、網(wǎng)頁跳轉(zhuǎn)方式進入快應(yīng)用時,使用系統(tǒng)創(chuàng)建桌面圖標時,出現(xiàn)一次彈框,不會再閃一次。對Deeplink跳轉(zhuǎn)的頁面代碼進行分析,發(fā)現(xiàn)頁面代碼里對onBackPress(監(jiān)聽返回按鈕動作)函數(shù)進行了重寫處理。

現(xiàn)象描述

從應(yīng)用市場打開快應(yīng)用,點擊返回時,系統(tǒng)添加桌面圖標只出現(xiàn)一次彈窗。但是使用deeplink打開跳轉(zhuǎn)頁面,點擊返回時,系統(tǒng)添加桌面圖標會出現(xiàn)一次彈窗后再閃一次。

問題分析

現(xiàn)網(wǎng)正常通過Deeplink、網(wǎng)頁跳轉(zhuǎn)方式進入快應(yīng)用時,使用系統(tǒng)創(chuàng)建桌面圖標時,出現(xiàn)一次彈框,不會再閃一次。對Deeplink跳轉(zhuǎn)的頁面代碼進行分析,發(fā)現(xiàn)頁面代碼里對onBackPress(監(jiān)聽返回按鈕動作)函數(shù)進行了重寫處理。

0900086000150224722.20201202103247.45727673503744101100102534664365.png

其中this.entryDirect為Deeplink跳轉(zhuǎn)時攜帶的參數(shù)。

onBackPress是用戶點擊返回按鈕時觸發(fā)的,當(dāng)返回true表示頁面按應(yīng)用自己的返回邏輯處理,返回false表示按默認的返回邏輯處理,不返回值則和返回false一樣,按默認的返回邏輯處理。

0900086000150224722.20201202103257.35882858191611184666570298524525.png

在這段代碼中,開發(fā)者在onBackPress中判斷為Deeplink進入快應(yīng)用時,調(diào)用this.app.exit()退出應(yīng)用,此時會觸發(fā)finish事件,而開發(fā)者沒有在onBackPress返回true,所以按默認的返回邏輯處理,也觸發(fā)了finish事件??鞈?yīng)用中心在監(jiān)聽到finish事件后,就會彈框引導(dǎo)用戶創(chuàng)建圖標,從而導(dǎo)致出現(xiàn)兩次彈框。

解決方法

對界面onBackPress函數(shù)代碼進行修改,調(diào)用this.app.exit()退出應(yīng)用后,不再使用默認按鈕返回邏輯。

建議與總結(jié)

當(dāng)頁面需要使用onBackPress(監(jiān)聽返回按鈕動作)函數(shù)處理自己邏輯時,需要在函數(shù)最后返回true,否則處理完onBackPress代碼后默認會走系統(tǒng)返回邏輯,容易導(dǎo)致異常。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于HUAWEI,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家