我已经在我进行支付的活动中添加了意图过滤器。以下是详细信息:
<activity> ...... <intent-filter> <action android:name="android.intent.action.VIEW" /> <data android:scheme="upi" /> </intent-filter> </activity>
并且用于接收意图的活动代码是:
var intent = getIntent();
我需要我的应用程序来作为一个选择,而通过合众国际社付款。
e4eetjau1#
要允许用户选择您的应用程序进行UPI支付,您可以创建一个包含支付应用程序列表的对话框,并在用户单击“使用UPI支付”按钮时启动它
val intent = Intent(Intent.ACTION_VIEW) intent.data = Uri.parse("upi://pay?id=1234&amount=100") val paymentApps = packageManager.queryIntentActivities(intent, 0) val paymentAppNames = paymentApps.map { it.loadLabel(packageManager) } val paymentAppIcons = paymentApps.map { it.loadIcon(packageManager) } val adapter = PaymentAppListAdapter(paymentAppNames, paymentAppIcons) val dialog = AlertDialog.Builder(this) .setTitle(R.string.pay_with_upi) .setAdapter(adapter) { _, which -> val chosenPaymentApp = paymentApps[which] val chosenPaymentAppName = chosenPaymentApp.loadLabel(packageManager) val chosenPaymentAppPackage = chosenPaymentApp.activityInfo.packageName intent.setPackage(chosenPaymentAppPackage) startActivity(intent) } .create() buttonPay.setOnClickListener { dialog.show() }
我还要确保为支付应用程序创建自定义适配器
1条答案
按热度按时间e4eetjau1#
要允许用户选择您的应用程序进行UPI支付,您可以创建一个包含支付应用程序列表的对话框,并在用户单击“使用UPI支付”按钮时启动它
我还要确保为支付应用程序创建自定义适配器