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