1

インターフェイスObjectを介して受信できますか? WebView.addJavascriptInterface何かのようなもの:

public class JavaScriptInterface {
    public void method(WhatEverKindOfType param) {
        Log.i(tag, param.toString());
    }
}

( と: theView.addJavascriptInterface(new JavaScriptInterface(), "obj");)

JSたとえば、次のようになります。obj.method(myEvent);

私は明らかにそれを と で試しましたObject paramString param、それらはすべてnull. 私はそれができるJSON.stringifyことを知っていますが、これはその循環オブジェクトの問題をもたらします(解決可能であることはわかっていますが、いじり始めたくありません)

それは可能ですか?

4

1 に答える 1

1

まず、PhoneGap を使用している場合は、addJavascriptInterface を使用しないでください。代わりに、 PhoneGap プラグインを作成してください。Plugin インターフェイスを使用する理由は、addJavascriptInterface に関する多くの問題を回避したためです。

プラグイン インターフェイスを使用する場合、JSONArray を Java 側に渡します。これは、int、String、boolean、そしてもちろん JSONObject などのすべての基本型をサポートしています。より構造化されたデータを格納できるのは JSONObject です。

于 2012-07-09T13:37:14.123 に答える