0

ボタンをクリックしてデバイスでスクリーンショットを撮りたい

次のコードを使用します。

View view = getWindow().getDecorView();
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap bitmap = view.getDrawingCache();

しかし、キャプチャした写真にはステータス バーがないことがわかりました。デバイスの画面全体が欲しいだけです。どうすれば修正できるか知っていますか?

4

1 に答える 1

0

ステータスバーはアクティビティビューの一部ではないため、上記のコードでは不可能です。

実際には、上記のコードを使用して画像をキャプチャすると、アプリケーションのアクティビティ画面の現在の描画ビューが変換されるだけで、完全なデバイス画面ではなく、画面の上部に表示されるステータスバーは、この全体にアクセスできない Android デバイスのビューです。ビュー(ステータスバー付き)。

完全な画面イメージを取得したい場合は、デバイスのルート アクセスを行い、Android デバイスのフレーム バッファを読み取ってからイメージ ファイルに変換する必要があります。次に、完全なデバイスの画面イメージを取得できます (ステータスバーまたはその他のビューを使用)。

于 2012-07-03T16:34:19.970 に答える