0

サムネイルでウェブブックマークを作成する方法を知っている人はいますか? 現在のブックマーク Web サイトのサムネイルまたはスクリーン ショットを取得する方法を教えてください。

これは私が学びたいウィジェットです..
ここに画像の説明を入力

4

2 に答える 2

1

これはICS+専用です:

ブラウザAPIはContactsAPIに沿って改良されており、ブックマークはアカウントにリンクされ、フォルダ構造もあります。私の知る限り、新しい内部はパブリックAPI呼び出しを介して公開されておらず、すべての実装が変更される可能性があります。将来的には、内部APIを使用すると、アプリが機能しなくなる可能性があります。それでも、Androidブラウザプロバイダーの内部動作を知ることは価値があります:

BrowserProvider2。現在、サムネイルは別のテーブルにあり、独自のURIを持っています。しかし、内部的には、画像テーブルにデータを配置しています。これにもURIがあります。

新しいブックマークテーブルサムネイルテーブル画像テーブルの構造を見てください。次に、ブックマークがどのように挿入されているかを確認します。

また、BrowserContractこれらの列は、ImageColumnsこれらのストア、サムネイル、ファビコン、タッチアイコンなどとして定義されています。

最後に、(idなし、urlが主キー)と(idあり)query()に一致するものが あります。IMAGESTHUMBNAILS

CONTENT_URIしたがって、ここから、new ofを使用して必要な画像を取得し、それに画像のURI、サムネイルなどをBrowserContract追加して、クエリ/挿入を実行できます。

于 2012-11-27T06:54:50.990 に答える
0

サムネイルの場合は、リンクを webView に配置し、webView をビットマップで保存すると思います。次に、ビットマップを SD カードに保存すると、サムネイルが作成されます。

次のようなブックマークを取得できます。

Cursor mCur  = ActivityChooseBookmark.this.getContentResolver().query(android.provider.Browser.BOOKMARKS_URI,
                        projection, Browser.BookmarkColumns.BOOKMARK, null, null);

これを使用して、 webView からビットマップを取得します。

public static Bitmap getBitmapFromView(View view) {
        Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(),Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(returnedBitmap);
        Drawable bgDrawable = view.getBackground();
        if (bgDrawable!=null) 
            bgDrawable.draw(canvas);
        else 
            canvas.drawColor(Color.TRANSPARENT);
        view.draw(canvas);
        return returnedBitmap;
    }

あとはSDに保存すれば完成

于 2012-11-26T09:38:44.527 に答える