Java android中的UPI集成:如何使用onActivityResult?

Java android中的UPI集成:如何使用onActivityResult?,java,android,python,kivy,upi,Java,Android,Python,Kivy,Upi,UPI(统一支付接口)是印度银行的支付接口。 在UPI中,事务是链接。就像比特币交易是信息一样 这些链接将传递给UPI支付应用程序,付款人必须登录该应用程序并单击“支付”按钮 我们的应用程序必须启动intent并传递指向UPI支付应用程序的链接,在付款人单击“支付”按钮后,我们需要在ActivityResult上调用。 我对java中的android开发一无所知。 我使用python kivy进行android开发。我想知道我的onActivityResult应该做什么 示例代码: 我可以使用

UPI
(统一支付接口)是印度银行的支付接口。 在UPI中,事务是链接。就像比特币交易是信息一样 这些链接将传递给UPI支付应用程序,付款人必须登录该应用程序并单击“支付”按钮

我们的应用程序必须启动intent并传递指向UPI支付应用程序的链接,在付款人单击“支付”按钮后,我们需要在ActivityResult上调用
。
我对java中的android开发一无所知。
我使用python kivy进行android开发。我想知道我的
onActivityResult
应该做什么

示例代码:

我可以使用pyjnius在python中使用java代码

一些参考链接:

活动A:

Intent start = new Intent(MainActivity.this, PurchaseActivity.class);
startActivityForResult(start, 1);
并添加此结果侦听器:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    if (requestCode == 1) {
        if (resultCode == RESULT_OK) {
            //payment was successful
        }else if (resultCode == RESULT_CANCELED) {
            //payment was canceled
        }
    }
}
活动B: 如果付款成功:

setResult(RESULT_OK, new Intent());
finish();
或者如果它被取消了:

setResult(RESULT_CANCELED, new Intent());
finish();

活动A:

Intent start = new Intent(MainActivity.this, PurchaseActivity.class);
startActivityForResult(start, 1);
并添加此结果侦听器:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    if (requestCode == 1) {
        if (resultCode == RESULT_OK) {
            //payment was successful
        }else if (resultCode == RESULT_CANCELED) {
            //payment was canceled
        }
    }
}
活动B: 如果付款成功:

setResult(RESULT_OK, new Intent());
finish();
或者如果它被取消了:

setResult(RESULT_CANCELED, new Intent());
finish();

您不需要手动执行此操作。我为它开发了一个图书馆。 只需要做一个简单的过程

final EasyUpiPayment EasyUpiPayment=new EasyUpiPayment.Builder()
.与(此)
.SetPayeVPA(“EXAMPLE@VPA")
.SetPayeName(“收款人名称”)
.setTransactionId(“唯一的交易ID”)
.setTransactionRefId(“唯一交易参考ID”)
.setDescription(“说明”或“小说明”)
.setAmount(“金额以十进制形式显示”
.build();
easyUpiPayment.startPayment();
欲了解更多信息,请访问以下网站。

您无需手动操作。我为它开发了一个图书馆。 只需要做一个简单的过程

final EasyUpiPayment EasyUpiPayment=new EasyUpiPayment.Builder()
.与(此)
.SetPayeVPA(“EXAMPLE@VPA")
.SetPayeName(“收款人名称”)
.setTransactionId(“唯一的交易ID”)
.setTransactionRefId(“唯一交易参考ID”)
.setDescription(“说明”或“小说明”)
.setAmount(“金额以十进制形式显示”
.build();
easyUpiPayment.startPayment();
欲了解更多信息,请访问以下网站。

请看一下“我是否应该假设只有付款人单击“支付”按钮时才会返回“确定”结果(对使用java进行android开发一无所知)如果付款人没有点击支付按钮或只是关闭了应用程序,那么结果\u Cancelled将被返回???也许可以看一看,我是否应该假设只有付款人点击支付按钮才会返回结果\u OK(关于android java开发的零知识)如果付款人不点击支付按钮或只是关闭应用程序,则结果_cancelled将被返回???实际上活动B不是我的活动,它是用户喜欢的支付授权应用程序。所以,我对活动B代码没有任何控制权。。。。那么,我是否应该假设活动B仅在付款完成时返回结果_OK??如果由于某种原因没有付款,那么活动B将返回结果\u cancelled???@prashantshigh,因为它是基于活动的。尝试查找其来源或类似的内容,并检查它是否返回RESULT\u OK或RESULT\u cancelled。但如果它是paynament活动,它可能设置了一些结果。实际上活动B不是我的活动,它是一个用户喜欢的支付授权应用程序。所以,我对活动B代码没有任何控制权。。。。那么,我是否应该假设活动B仅在付款完成时返回结果_OK??如果由于某种原因没有付款,那么活动B将返回结果\u cancelled???@prashantshigh,因为它是基于活动的。尝试查找其来源或类似的内容,并检查它是否返回RESULT\u OK或RESULT\u cancelled。但如果是paynament活动,它可能会产生一些结果。我们不能相信第三方lib对upi支付的信任。好的。然后,您可以参考此源代码。如果你按照自己的方式实现它,它也会是一样的。这个库有问题,很多用户没有UPI发现错误。它会给出错误,比如你的应用程序跨越了最大横切限制。。为什么是??解决方案是什么?我们不能在upi支付上信任第三方lib。好的。然后,您可以参考此源代码。如果你按照自己的方式实现它,它也会是一样的。这个库有问题,很多用户没有UPI发现错误。它会给出错误,比如你的应用程序跨越了最大横切限制。。为什么是??什么是解决方案??