【问题标题】:Call C# method with parameter from JS xamarin使用来自 JS xamarin 的参数调用 C# 方法
【发布时间】:2017-08-15 00:16:35
【问题描述】:

我尝试使用参数从 JS 调用 C# 方法,但出现错误。

我使用的是 Xamarin Android(不是 Xamarin.Forms)

C#代码:

[JavascriptInterface]
[Export("test")]
public Java.Lang.String Test(Java.Lang.String hello)
{
    return hello;
}

JS代码:

var foo = GameBridge.test('foo');

错误:System.InvalidOperationException: Specified managed method 'Test' was not found. Signature: (Ljava/lang/String;)Ljava/lang/String;

Error screenshot

【问题讨论】:

  • 我做了一个基本的演示,但没有重现您的问题,请您尝试关注Call C# from JavaScript。如果错误仍然存​​在,您能否分享一个可以重现此问题的基本演示?

标签: javascript c# android xamarin android-jsinterface


【解决方案1】:

问题是c#方法的返回类型。它适用于返回类型为“void”。 下面的代码对我有用。

[JavascriptInterface]
[Export("test")]
public void Test(string hello)
{
    //to do work
}

我也在寻找在 Export/JavascriptInterface 中处理返回类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 2017-09-25
    • 2020-08-27
    相关资源
    最近更新 更多