Razorpay 1.6.26(AAR)的Xamarin Android绑定出现错误



我正在使用AAR制作Razorpay 1.6.26的Xamarin Android绑定库(https://repo1.maven.org/maven2/com/razorpay/checkout/1.6.26/checkout-1.6.26.aar)但是由于OnRequestPermissionsResult方法中的一个参数类型而导致其给定错误,该方法被声明为

OnRequestPermissionsResult (int p0, string[] p1, int[] p2) 

但应该是

OnRequestPermissionsResult (int p0, string[] p1, Permission[] p2)

我正在尝试使用以下属性代码通过Metadata.xml进行更改

<attr path="/api/package[@name='com.razorpay']/class[@name='CheckoutActivity']/method[@name='OnRequestPermissionsResult' and count(parameter)=3 and parameter[1][@type='int'] and parameter[2][@type='java.lang.String[]'] and parameter[3][@type='int[]']]/parameter[3]" name="type">Android.Content.PM.Permission[]</attr>

但它不起作用,错误与早期的相同

Severity    Code    Description Project File    Line    Suppression State
Error   CS0115  'CheckoutActivity.OnRequestPermissionsResult(int, string[], int[])': no 
suitable method found to override   RazorPayBindingNew

知道怎么解决这个问题吗?

我已经测试了绑定,您的Metadata.xml中似乎有问题。您可以尝试以下代码:

<attr path="/api/package[@name='com.razorpay']/class[@name='CheckoutActivity']/method[@name='onRequestPermissionsResult' and count(parameter)=3 and parameter[1][@type='int'] and parameter[2][@type='java.lang.String[]'] and parameter[3][@type='int[]']]/parameter[3]" name="type">Android.Content.PM.Permission[]</attr>

对我的错误表示歉意。name="type"是对的。name="manageType"应用于更改返回类型。

并且'OnRequestPermissionsResult'应该是'onRequestPermissionsResult'。我已经检查了绑定错误,错误消息显示名称应该是onRequestPermissionsResult。我已经测试过了,当我把它改为onRequestPermissionsResult时,错误消息消失了。

相关内容

最新更新