你的 onBackPressed() 方法已經被 deprecated(過時),Google 建議使用 OnBackPressedDispatcher 來處理返回操作。
✅ 解決方案
1️⃣ 改用 onBackPressedDispatcher
onBackPressedDispatcher 提供更靈活的方式來處理返回事件:
為什麼要改?
🚨 onBackPressed() 為什麼過時?
-
舊版
onBackPressed()會直接關閉 Activity,但新版本 Android 提供 更多控制,可以監聽返回行為、攔截事件,甚至自定義動作。 -
使用
OnBackPressedDispatcher可以更靈活處理多個onBackPressed事件,例如:-
WebView 返回(如果可用)
-
彈出對話框(如果有)
-
關閉 Activity(如果沒有其他可返回的內容)
-
2️⃣ 如果你的 Activity 需要監聽返回鍵
如果你的 Activity 需要在全域監聽返回事件,例如 WebView 內返回:
這樣,即使用戶按下手機返回鍵,也能先檢查 WebView 是否能回上一頁,否則才會關閉 Activity。
結論
-
單次返回事件 →
onBackPressedDispatcher.onBackPressed() -
全域返回監聽 →
OnBackPressedCallback+onBackPressedDispatcher -
不要再用
onBackPressed(),它已經被淘汰!
這樣你的返回行為會更流暢,適用於新版本 Android 🚀
沒有留言:
張貼留言