Xamarin Android绑定Razorpay 1.6.26 AAR遇权限方法参数错误求助
解决Xamarin Android绑定Razorpay AAR的权限回调方法参数错误问题
问题根源
你编写的Metadata.xml未生效,核心原因是方法名大小写不匹配:Java中该回调方法的标准名称是onRequestPermissionsResult(首字母小写),但你在XPath中写的是OnRequestPermissionsResult,导致无法匹配到目标方法,参数类型修改自然不生效。
正确的Metadata.xml配置
替换你原有的代码为以下内容,修正方法名并优化匹配逻辑:
<attr path="/api/package[@name='com.razorpay']/class[@name='CheckoutActivity']/method[@name='onRequestPermissionsResult' and @args='int,java.lang.String[],int[]']/parameter[3]" name="type">Android.Content.PM.Permission[]</attr>
配置说明
@name='onRequestPermissionsResult':修正为Java原生方法名(首字母小写),确保能匹配到目标方法@args='int,java.lang.String[],int[]':通过方法签名精准定位,避免参数索引匹配错误- 修改第三个参数的类型为
Android.Content.PM.Permission[],与Android Activity基类的回调方法签名对齐
后续操作
- 清理绑定库项目的bin和obj目录
- 重新生成绑定库,此时CheckoutActivity的
OnRequestPermissionsResult方法第三个参数类型会被正确修正为Permission[] - 编译项目,CS0115错误即可消除
内容的提问来源于stack exchange,提问作者seopower
相关产品推荐
相关产品推荐

