2017-03-22 11 views
3

JSから引数でC#メソッドを呼び出そうとしましたが、エラーが発生しました。JS xamarinのパラメータで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

+0

私は基本的なデモを行いましたが、問題は再現できませんでした。[JavaScriptからのコールC#](https://developer.xamarin.com/recipes/android/controls/webview/call_csharp_from_javascript/) 。エラーが解決しない場合は、この問題を再現できる基本的なデモをお送りください。 –

答えて

0

問題は、C#メソッドの戻り値の型です。戻り値の型は 'void'としてうまくいきます。 以下のコードは私に働いています。

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

また、エクスポート/ JavascriptInterfaceの戻り値の型を処理するためにも探しています。

関連する問題