android - 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 的应用程序。
解决方案
这是我为 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();
}
推荐阅读
- javascript - JS中的订单表格
- mpi - 用于 MPI 安装的配置文件中的 -CC 选项
- javascript - 预期的 str 实例,找到了 BoundField (Django)
- ios - Safari 阻止 URL 请求凭据,因为它是跨域请求
- c++ - 如何使用 FFmpeg 解码 MJPEG
- ios - 我如何像用户一样体验我的应用程序?无法仅通过编译来复制崩溃
- sql - 在数据库中查找潜在的重复名称
- reactjs - React Native 调试器错误 - 无法获取 /debugger-ui/
- graphql - 如何根据 PageQuery 的结果获取 Gatsby 图片?
- javascript - 如何检测一个数组中的值是否与另一个数组的顺序相同?