Я хочу создать upi: // оплатить диплинкинг для моего приложения для Android
проблема в том, что у меня есть код ядра Android в качестве примера для реализации, но когда я пытаюсь использовать в nativescript vue android, я получаю нулевое намерение
У меня есть утилиты openurl, чтобы открыть намерение в nativescript
var utilityModule = require ("utils / utils");
utilityModule.openUrl ("upi: // pay? pa=xxxxxxxxx@upi&am=1.0&tn=txnid221011");
@Override
public void onClick(View v) {
Uri uri = Uri.parse("upi://pay?pa="+payeeAddress+"&pn="+payeeName+"&tn="+transactionNote+
"&am="+amount+"&cu="+currencyUnit);
Log.d(TAG, "onClick: uri: "+uri);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivityForResult(intent,1);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(TAG, "onActivityResult: requestCode: "+requestCode);
Log.d(TAG, "onActivityResult: resultCode: "+resultCode);
//txnId=UPI20b6226edaef4c139ed7cc38710095a3&responseCode=00&ApprovalRefNo=null&Status=SUCCESS&txnRef=undefined
//txnId=UPI608f070ee644467aa78d1ccf5c9ce39b&responseCode=ZM&ApprovalRefNo=null&Status=FAILURE&txnRef=undefined
if(data!=null) {
Log.d(TAG, "onActivityResult: data: " + data.getStringExtra("response"));
String res = data.getStringExtra("response");
String search = "SUCCESS";
if (res.toLowerCase().contains(search.toLowerCase())) {
Toast.makeText(this, "Payment Successful", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(this, "Payment Failed", Toast.LENGTH_SHORT).show();
}
}