サムネイルでウェブブックマークを作成する方法を知っている人はいますか? 現在のブックマーク Web サイトのサムネイルまたはスクリーン ショットを取得する方法を教えてください。
これは私が学びたいウィジェットです..
サムネイルでウェブブックマークを作成する方法を知っている人はいますか? 現在のブックマーク Web サイトのサムネイルまたはスクリーン ショットを取得する方法を教えてください。
これは私が学びたいウィジェットです..
これはICS+専用です:
ブラウザAPIはContactsAPIに沿って改良されており、ブックマークはアカウントにリンクされ、フォルダ構造もあります。私の知る限り、新しい内部はパブリックAPI呼び出しを介して公開されておらず、すべての実装が変更される可能性があります。将来的には、内部APIを使用すると、アプリが機能しなくなる可能性があります。それでも、Androidブラウザプロバイダーの内部動作を知ることは価値があります:
でBrowserProvider2
。現在、サムネイルは別のテーブルにあり、独自のURIを持っています。しかし、内部的には、画像テーブルにデータを配置しています。これにもURIがあります。
新しいブックマークテーブルとサムネイルテーブルと画像テーブルの構造を見てください。次に、ブックマークがどのように挿入されているかを確認します。
また、BrowserContract
これらの列は、ImageColumns
これらのストア、サムネイル、ファビコン、タッチアイコンなどとして定義されています。
最後に、(idなし、urlが主キー)と(idあり)query()
に一致するものが あります。IMAGES
THUMBNAILS
CONTENT_URI
したがって、ここから、new ofを使用して必要な画像を取得し、それに画像のURI、サムネイルなどをBrowserContract
追加して、クエリ/挿入を実行できます。
サムネイルの場合は、リンクを 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に保存すれば完成