0

Trigger.io のネイティブ Android モジュールを作成しています。このメソッドは API.java で定義されています。

public static void foo(final ForgeTask task, @ForgeParam("bar") final int bar) {
    System.out.println("foo called "+task.params);
    task.success();
}

インスペクタを実行5して のテキスト ボックスに入力するとbar、次の出力が表示されます。

Called "test_test.foo" with "{"bar":"5"}"

Error for "test_test.foo" with "{"message":"Parameter 'bar' was of the wrong type, expected an int","type":"UNEXPECTED_FAILURE","subtype":null}"

またはbarとして宣言されている場合、同様のエラーが発生します。ただし、類似の iOS API は問題なく動作します。longdouble

Android インスペクターでこのメソッドをテストするにはどうすればよいですか?

編集:トリガープラットフォームv2.1.7(執筆時点で最新)を使用しています。

4

3 に答える 3

1

関数が int を探しているときに、文字列として 5 を送信しているように見えます。トリガーが文字列としてのみ送信する場合は、int を文字列に変更し、事後に文字列を int にキャストすることをお勧めします。 . 最善の解決策ではありませんが、trigger.io が int として送信するオプションを提供しない場合、それはうまくいくと思います

于 2014-07-17T16:19:27.333 に答える
0

今のところ、 をfoo5呼び出すパラメーターなしのメソッドを定義しましたfoo

public static void foo5(final ForgeTask task) {
    API.foo(task, 5);
}
于 2014-06-29T01:44:10.143 に答える