7

スクリーンショットを撮る方法は知っていますが、それがどのように機能するのか疑問に思っていました。

少なくとも Android 4.0 以降では、電話の音量を下げるキーと電源キーの両方を押し続けることでスクリーン ショットを撮ることができ、Android は現在の画面をキャプチャして SD カードに保存します。

バックグラウンドで常に実行されているサービスなのか、各アプリに組み込まれたものなのか、. また、Androidのソースコードのどこにありますか?

ありがとう!

4

4 に答える 4

6

ここのソースツリーでコードを見つけました: https://github.com/android/platform_frameworks_base/tree/master/packages/SystemUI/src/com/android/systemui/screenshot

プロセスをよりよく理解するには、それを読むだけの問題だと思います。

于 2012-11-01T16:06:42.897 に答える
6

非常に簡単なスクリーンショットを撮りたいだけの場合:

public Bitmap screenShot(View view) {
    Bitmap bitmap = Bitmap.createBitmap(view.getWidth(),
            view.getHeight(), Config.ARGB_8888);
    Canvas canvas = new Canvas(bitmap);
    view.draw(canvas);
    return bitmap;
}

スナップショットが必要なビューでこのメソッドを呼び出すだけです。したがって、画面全体が必要な場合は、 top most を渡しますViewGroup。システムコントロールも必要な場合は、次のように呼び出します。

screenShot((ViewGroup) view.getParent());

OS の奥深くにある「ボリュームダウン + 電源キー」がどのように機能するのか疑問に思っている場合は、アクセスすることもできます。APK AFAIKから電源ボタンを傍受する方法はありません.

于 2012-11-01T16:04:47.223 に答える