2

Webビューのコレクションである単純なAndroidアプリがあります。通常、デフォルトのAndroidブラウザまたはChromeでは、ユーザーは画像を長押しして携帯電話に保存できます。

Webビューでは、ユーザーに長押しのオプションはありませんが、画像を携帯電話に保存するための同じ機能を提供できるようにしたいと思います。

これは、javascriptやjquery、またはその他の方法で可能ですか?

ありがとう。

4

1 に答える 1

2

少なくとも 2 つの (廃止されていない) オプションがあるようです。

最初のオプションでは、現在のカーソル ノードに基づいて HitTestResult を取得します。HTML::a タグが見つかり、アンカーに JavaScript 以外の URL がある場合、HitTestResult タイプは SRC_ANCHOR_TYPE に設定され、URL は「extra」フィールドに設定されます。アンカーに URL がない場合、または JavaScript URL の場合、タイプは UNKNOWN_TYPE になり、URL は requestFocusNodeHref(Message) を介して非同期的に取得する必要があります。HTML::img タグが見つかった場合、HitTestResult タイプが IMAGE_TYPE に設定され、URL が「extra」フィールドに設定されます。SRC_IMAGE_ANCHOR_TYPE のタイプは、画像を子ノードとして持つ URL を持つアンカーを示します。電話番号が見つかった場合、HitTestResult タイプが PHONE_TYPE に設定され、電話番号が HitTestResult の「extra」フィールドに設定されます。マップアドレスが見つかった場合、HitTestResult タイプは GEO_TYPE に設定され、アドレスは HitTestResult の「extra」フィールドに設定されます。電子メール アドレスが見つかった場合、HitTestResult タイプは EMAIL_TYPE に設定され、電子メールは HitTestResult の「extra」フィールドに設定されます。それ以外の場合、HitTestResult タイプは UNKNOWN_TYPE に設定されます。

2 番目のオプションの場合:

public void requestImageRef (Message msg)

ユーザーが最後にタッチした画像の URL を要求します。msg は、URL を表す文字列をオブジェクトとしてターゲットに送信されます。

ただし、これらのオプションが「ロングクリック」と互換性があるかどうかはわかりません.

onLoadResource(WebView view, String url) を使用して、読み込まれたすべての画像リソースを簡単にキャプチャし、画像参照のリストを作成して、ボタン クリックが参照するものをダウンロードすることもできます。

于 2013-01-22T11:24:14.973 に答える