onactivityResult 在错误的时间被调用



我正在使用这段代码

      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方法。但是我注意到当用户单击按钮并进入设置屏幕时,会调用此方法。

此代码位于片段中,而不是在活动中。

我设法解决了这个问题。正如我在问题中提到的 - onActivityResult 是在 startActivityForResult 之后立即调用的。

此问题的原因是 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

相关内容

  • 没有找到相关文章

最新更新