スクリーンショットを撮る方法は知っていますが、それがどのように機能するのか疑問に思っていました。
少なくとも Android 4.0 以降では、電話の音量を下げるキーと電源キーの両方を押し続けることでスクリーン ショットを撮ることができ、Android は現在の画面をキャプチャして SD カードに保存します。
バックグラウンドで常に実行されているサービスなのか、各アプリに組み込まれたものなのか、. また、Androidのソースコードのどこにありますか?
ありがとう!
スクリーンショットを撮る方法は知っていますが、それがどのように機能するのか疑問に思っていました。
少なくとも Android 4.0 以降では、電話の音量を下げるキーと電源キーの両方を押し続けることでスクリーン ショットを撮ることができ、Android は現在の画面をキャプチャして SD カードに保存します。
バックグラウンドで常に実行されているサービスなのか、各アプリに組み込まれたものなのか、. また、Androidのソースコードのどこにありますか?
ありがとう!
ここのソースツリーでコードを見つけました: https://github.com/android/platform_frameworks_base/tree/master/packages/SystemUI/src/com/android/systemui/screenshot
プロセスをよりよく理解するには、それを読むだけの問題だと思います。
非常に簡単なスクリーンショットを撮りたいだけの場合:
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から電源ボタンを傍受する方法はありません.