无法使用 UPI URI 调用 PSP 应用程序
Posted
技术标签:
【中文标题】无法使用 UPI URI 调用 PSP 应用程序【英文标题】:not able to invoke PSP apps using UPI URI 【发布时间】:2017-03-14 05:34:00 【问题描述】:从-开始
我知道有一个类似的问题已经得到解答。但是答案对我没有帮助。
Invoke PSP app with UPI url
我的问题是一样的 -
使用UPI url如下
String UPI = "upi://pay?pa=xsas@hdfcbank&pn=ABC+DEF&mc=qy67vt&tr=12121&tn=your+order+with+us&am=1.5&url=shopify.com";
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setData(Uri.parse(UPI));
Intent chooser = Intent.createChooser(intent, "Pay with...");
startActivityForResult(chooser, 1, null);
在我使用 setData 的那一刻,我停止获取可以与之共享的应用程序列表(列表为空)。如果我删除 setData,应用程序(短信、电子邮件等)的常规列表开始弹出,银行应用程序(接受 UPI,比如 ICICI/HDFC)不是其中之一。
这里可能出了什么问题?,
【问题讨论】:
你找到解决办法了吗? 【参考方案1】:替换这个:
String UPI = "upi://pay?pa=xsas@hdfcbank&pn=ABC+DEF&mc=qy67vt&tr=12121&tn=your+order+with+us&am=1.5&url=shopify.com";
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setData(Uri.parse(UPI));
Intent chooser = Intent.createChooser(intent, "Pay with...");
startActivityForResult(chooser, 1, null);
用这个:
String UPI = "upi://pay?pa=xsas@hdfcbank&pn=ABC+DEF&mc=qy67vt&tr=12121&tn=your+order+with+us&am=1.5&url=shopify.com";
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW); // this line needs to be updated
intent.setData(Uri.parse(UPI));
Intent chooser = Intent.createChooser(intent, "Pay with...");
startActivityForResult(chooser, 1, null);
这是因为所有深层链接的 upi 应用都需要处理传入的 Intent,需要使用 View Action 调用它们。
【讨论】:
此更新也不起作用。意图.setAction(意图.ACTION_VIEW);我在使用 icici 的“口袋”应用程序时也得到了未定义的响应【参考方案2】:您可以从意图中省略 intent.setAction(Intent.ACTION_SEND);
部分,因为这不是强制性的,不同的应用会处理不同的操作。
正如您在您提到的原始问题中看到的那样,没有setAction
【讨论】:
以上是关于无法使用 UPI URI 调用 PSP 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
从我的 react-native 应用程序调用 UPI 应用程序在 iOS 中有效,但在 Android 中无效
调用 Intent 加载 UPI Payment App 时出现异常:android.content.ActivityNotFoundException: No Activity found to h