首页 > 解决方案 > UPI 隐式意图选择器在红米设备上不起作用

问题描述

这是我的 upi 隐式意图代码,它使用户可以选择多个支持 upi 的应用程序,并且该代码在我测试过的所有设备和除 Redmi 设备之外的所有版本上都可以正常工作。我的代码不适用于任何 Redmi Note 5 Pro

这是我的代码:

String UPI = "upi://pay?pa=abcupi@xxxxbank&pn=:ABC%20COMPANY%20LTD&tr="+dateTime+"&am="+amount+"&tn=XXXXXX UPI Payment";
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.setData(Uri.parse(UPI));
        Intent chooser = Intent.createChooser(intent, "UPI Transfer With");
        startActivityForResult(chooser, UPI_CHOOSER, null);

选择器不会仅在 Redmi 设备上打开支持 upi 的应用程序。我已经在 3 种不同的 Redmi note 5 pro 上进行了测试,但没有成功。它没有打开选择器以显示支持 upi 的应用程序。

标签: androidandroid-intentandroid-intent-chooserupi

解决方案


这是我为 Redmi Note 5 Pro 解决的方法:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(UPI));
if (intent.resolveActivity(getPackageManager()) != null) {
    startActivity(intent);
} else {
    Toast.makeText(this, "No application available to handle this request!", Toast.LENGTH_SHORT).show();
}

推荐阅读