インターネット コンテンツに大きく依存する Android 用のアプリを開発しています。アプリには、ユーザーが安全な Web サイトを閲覧できるようにする WebView があります。これはうまく機能しています。ただし、ネイティブ アプリでメソッドをトリガーする必要がある場合もあります。
これを行うには、ユーザーがフォームを送信するときに POST リクエストをインターセプトし、特定のパラメーターを探し、パラメーターが存在する場合は、送信する前に別のパラメーターを POST リクエストに追加する必要があります。
アプリが古い API をサポートすることが重要です。少なくとも API レベル 8。iOS では、これは簡単なことでした。URL 要求をインターセプトし、URL エンコードされたパラメーターを追加しました。ただし、Android では、これははるかに困難です。ウェブサイトを変更せずにリクエストを傍受する方法が見つかりません。
webview の loadUrl() メソッドと postUrl() メソッドをオーバーライドしようとしましたが、ユーザーが webview で href を操作したときに呼び出されないようです。探している特定のパラメーターはさまざまな URL から取得される可能性があるため、URL 自体をオーバーライドしたり、フォーム名をハードコーディングしたりするだけでは不十分です。誰かがこの問題で私を助けてくれることを願っています。