onactivityResult 在错误的时间被调用
onactivityResult get called at the wrong time
我正在使用此代码
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 方法。但我注意到当用户单击按钮并进入设置屏幕时会调用此方法。
此代码是在 Fragment 中找到的,而不是在 Activity 中。
我设法解决了这个问题。正如我在问题中提到的 - 在 startActivityForResult 之后立即调用了 onActivityResult。
导致此问题的原因是 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
我正在使用此代码
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 方法。但我注意到当用户单击按钮并进入设置屏幕时会调用此方法。
此代码是在 Fragment 中找到的,而不是在 Activity 中。
我设法解决了这个问题。正如我在问题中提到的 - 在 startActivityForResult 之后立即调用了 onActivityResult。
导致此问题的原因是 i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);