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

更新:我现在尝试从常规的Activity运行相同的流,并获得相同的结果-onActivityResult()未触发。
在两个differenet物理设备上测试(运行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所提到的相反,用于requestCodestartIntentSenderForResult()不能任意使用!我没有具体的临界值,但是低于1000的值似乎可以正常工作。

本文翻译自 https://stackoverflow.com/questions/35693454/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。

标签 android android-fragments android-billing


相关文章:

android - Android内存管理,用于onStop(或屏幕外)活动

java - 我在一个片段中有2个RecyclerViews。但只显示第一个

android - Recyclerview布局在片段内无法正确显示

android - 如何使标签(ActionBar)停止调用其邻居标签的onCreateView()

java - 将类型化数组从Android移植到iPhone应用程序

android - 捕获Android“多任务”按钮

android - android in-app billing v3 api中的开发者有效负载应该是多少?

java - 将json对象添加到jsonarray android / java

android - Android帐单:如何处理待处理的购买