0

インターネット コンテンツに大きく依存する Android 用のアプリを開発しています。アプリには、ユーザーが安全な Web サイトを閲覧できるようにする WebView があります。これはうまく機能しています。ただし、ネイティブ アプリでメソッドをトリガーする必要がある場合もあります。

これを行うには、ユーザーがフォームを送信するときに POST リクエストをインターセプトし、特定のパラメーターを探し、パラメーターが存在する場合は、送信する前に別のパラメーターを POST リクエストに追加する必要があります。

アプリが古い API をサポートすることが重要です。少なくとも API レベル 8。iOS では、これは簡単なことでした。URL 要求をインターセプトし、URL エンコードされたパラメーターを追加しました。ただし、Android では、これははるかに困難です。ウェブサイトを変更せずにリクエストを傍受する方法が見つかりません。

webview の loadUrl() メソッドと postUrl() メソッドをオーバーライドしようとしましたが、ユーザーが webview で href を操作したときに呼び出されないようです。探している特定のパラメーターはさまざまな URL から取得される可能性があるため、URL 自体をオーバーライドしたり、フォーム名をハードコーディングしたりするだけでは不十分です。誰かがこの問題で私を助けてくれることを願っています。

4

2 に答える 2

2

JavaScript を使用して投稿を傍受することができます。JavaScript を使用してすべての入力を検証できるため、すべてのキー = 値のペアを設定することもできます。JavaScript 自体は get リクエストしか実行できません。それが許可されていない場合は、Android JavaScript ブリッジを使用して投稿を実行してください。

于 2012-12-20T21:43:00.950 に答える
-1

WebView については、WebViewClient http://developer.android.com/reference/android/webkit/WebView.html#setWebViewClient(android.webkit.WebViewClient ) を確認してください。これを使用すると、webview を通過するすべてのリクエストを処理できます。

于 2012-12-20T10:17:20.263 に答える