3

我尝试使用参数从 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;

错误截图

4

1 回答 1

0

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

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

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

于 2017-08-03T10:17:40.853 回答