在 startIntentSenderForResult() 之后未调用 onActivityResult()

onActivityResult() not called after startIntentSenderForResult()

更新: 我现在尝试 运行 来自常规 Activity 的相同流程并获得相同的结果 - onActivityResult()没有被解雇。 在两个不同的物理设备上测试(运行ning android 4.4 和 5.1)

注意:这个问题之前是asked,但是这个案例不同,所以接受的答案没有解决它。

MainActivity 我们开始 FragmentDialog:

public void ShowDialog(View v)
{
    MyDialog myDialog = new MyDialog();
    myDialog.show(getFragmentManager(),"");
}

然后,从 MyDialog 我们调用

PendingIntent pendingIntent = bundle.getParcelable(BUY_INTENT);
        if( null == pendingIntent)  return false;

getActivity().startIntentSenderForResult
                (pendingIntent.getIntentSender(), REQUEST_CODE, new Intent(), 0, 0, 0);

上面确实调用了 Google 计费片段,但是,niether MyDialog.onActivityResult()MainActivity.onActivityResult() 都没有被调用。

YGTBFKM!

经过长时间的功夫练习,我终于发现与[=12=中提到的相反] requestCode 用于 startIntentSenderForResult() 不能随意 !我没有具体的截止数字,但低于 1000 的值似乎可以正常工作。