要解决 "android onBackPressedDispatcher不运行" 的问题,你可以尝试以下几种方法:
public class MainActivity extends AppCompatActivity {
@Override
public void onBackPressed() {
// 此处写下你想要的逻辑代码
super.onBackPressed();
}
}
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
OnBackPressedCallback callback = new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
// 此处写下你想要的逻辑代码
// 如果你想要 Activity 的默认行为,可以调用 super.onBackPressed()
}
};
getOnBackPressedDispatcher().addCallback(this, callback);
}
}
请注意,这种方法仅在使用 Fragment 的情况下有效。
public class MyFragment extends Fragment {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
OnBackPressedCallback callback = new OnBackPressedCallback(true) {
@Override
public void handleOnBackPressed() {
// 此处写下你想要的逻辑代码
// 如果你想要 Activity 的默认行为,可以调用 requireActivity().onBackPressed()
}
};
requireActivity().getOnBackPressedDispatcher().addCallback(this, callback);
}
}
请注意,这种方法仅在使用 Fragment 的情况下有效。
希望以上解决方法对你有所帮助!