Android onactivityResult在错误的时间被调用
我正在使用这个代码Android onactivityResult在错误的时间被调用,android,fragment,onactivityresult,startactivityforresult,Android,Fragment,Onactivityresult,Startactivityforresult,我正在使用这个代码 final Intent i = new Intent(); i.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); i.addCategory(Intent.CATEGORY_DEFAULT); i.setData(Uri.parse("package:" + context.getPackageName())); i.addFlags(Intent.F
final Intent i = new Intent();
i.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
i.addCategory(Intent.CATEGORY_DEFAULT);
i.setData(Uri.parse("package:" + context.getPackageName()));
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
i.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
parentFragment.startActivityForResult(i, Constants.PERMISSIONS);
允许用户选择在运行时更改设置的选项。此代码在用户单击按钮时发生。
我想做的是获取他选择的信息,为此我使用了onActivityResult方法。但我注意到,当用户单击按钮并进入设置屏幕时,就会调用此方法
这段代码是在片段中找到的,而不是在活动中。我设法解决了这个问题。正如我在问题中提到的,在startActivityForResult之后立即调用了onActivityResult 此问题的原因是i.addFlags(Intent.FLAG\u ACTIVITY\u NEW\u TASK)强>