Вызов метода C# с параметром из JS xamarin

Я пытался вызвать метод C# из JS с аргументами, но у меня есть ошибка.

Я использую 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;

Скриншот ошибки

1 ответ

Проблема заключается в типе возврата метода C#. Это хорошо работает с типом возврата как 'void'. Ниже код работает для меня.

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

Я также ищу для обработки возвращаемых типов в Export/JavascriptInterface.

Другие вопросы по тегам