Я хочу открыть обработчик намерений и получить данные о намерениях результата в nativescript vue - PullRequest
0 голосов
/ 02 июня 2019

Я хочу создать 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();
        }
    }

1 Ответ

0 голосов
/ 26 июня 2019

Вы можете попробовать использовать плагин nativescript-urlhandler . Я только протестировал демо, но это сработало.

...