更新:我现在尝试从常规 Activity
运行相同的流程,并获得相同的结果 - onActivityResult()
不是解雇了。
在两个不同的物理设备上测试(运行 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 Billing Fragment,但是,MyDialog.onActivityResult()
和 MainActivity.onActivityResult()
都没有被调用。
最佳答案
YGTBFKM!
经过长时间的功夫训练后,我终于发现与documentation 中提到的相反 requestCode
用于 startIntentSenderForResult()
不能是任意的!我没有具体的截止数字,但低于 1000 的值似乎可以正常工作。
关于android - 在 startIntentSenderForResult() 之后未调用 onActivityResult(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35693454/