私はWebViewネイティブ アプリケーションで多くの JavaScript を使用しています。JS 側でネイティブ関数を呼び出したい場合は、 を使用するとかなりスムーズJavaScriptInterfaceです。ただし、ネイティブで JS 関数を呼び出したい場合は、それほど簡単ではありません。これまでに2つのソリューションを試しました:
loadUrlURL を使用してメソッドを呼び出すjavascript:something()- ユーザーがキーボードで何かを入力するWebViewと、関数の実行後にそれが非表示になるため、受け入れられません- x秒ごとに(
Stringオブジェクトによって提示される)関数をネイティブ側に要求eval()し、結果を呼び出します-時々、間隔を1秒に設定した後、50〜60秒後にそれらの要求を取得していました!
このコミュニケーション モデルを達成する他の方法があるかどうか疑問に思っています。アプリ内にローカルSocket/ HTTP/something-else サーバーを作成し、それにアクセスできるようにしWebViewます。(可能であれば)それを行う方法のヒントを探しています。