我有一个使用startActivityForResult(intent,634)的 Activity 。如果我从 Activity 中使用它,则onActivityResult()中的requestCode可以。但是,如果我在本 Activity 中使用DialogFragment中的startActivityForResult(intent,634),则会得到另一个requestCode,类似于66170。那么为什么会发生这种情况?

最佳答案

发生这种情况的原因是,如果您从对话框中使用startActivityForResult,则在onActivityResult中会获得对话框的requestCode。不是来自您的另一个 Activity 。而且,如果您想获得正确的requestCode,则应在DialogFragment中使用getActivity().startActivityForResult(intent,requestCode)

10-08 12:20