android onBackPressedDispatcher 不是 运行

android onBackPressedDispatcher not run

我想提供自定义后退导航

我在 FragmentonCreate 上有此代码:

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        arguments?.let {
            param1 = it.getString(ARG_PARAM1)
            param2 = it.getString(ARG_PARAM2)
        }
        setHasOptionsMenu(true)

        requireActivity().onBackPressedDispatcher.addCallback(
            this,
            object : OnBackPressedCallback(true) {
                override fun handleOnBackPressed() {
                    Log.e("onCreate:", "back pressed invoked")
                }
            }
        )
        Log.e("onCreate: ", "Run")
    }

片段声明:

class InsertFragment : Fragment() {

}

我使用导航组件,我的库版本是:

def nav_version = "1.0.0"
implementation "android.arch.navigation:navigation-fragment-ktx:$nav_version"
implementation 'androidx.appcompat:appcompat:1.1.0'

当我点击后退按钮时,我没有输出 Log,我错过了什么?

onBackPressedDispatcher 用于手柄设备后退按钮。

因为这个 Log 只有 运行 当按下设备后退按钮时