在 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 的值似乎可以正常工作。
更新: 我现在尝试 运行 来自常规 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 的值似乎可以正常工作。