在Android 11和12版本中,由于数据隐私所需的更严格的限制,Intent选择器打开UPI支付应用程序的方法已被更改。为了打开UPI支付应用程序,需要使用该应用程序的特定URI方案,并通过Intent对象将其传递给Android系统。
以下是使用Intent对象打开BHIM UPI应用程序的示例代码:
String packageName = "in.org.npci.upiapp"; String uriString = "upi://pay?pa=example@upi&pn=Example&tn=Test&am=100.00&cu=INR&mode=00&orgid=000000&sign=";
Uri uri = Uri.parse(uriString); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(uri); intent.setPackage(packageName);
try { startActivity(intent); } catch (ActivityNotFoundException e) { Toast.makeText(MainActivity.this, "BHIM UPI is not installed. Please install and try again.", Toast.LENGTH_LONG).show(); }
在此代码示例中,我们使用了’BHIM UPI’应用程序的特定URI方案“upi://pay”,并使用Intent对象打开此应用程序。如果应用程序未安装,则会显示一个消息框,提示用户安装应用程序。