非rootがベストだけれど、APIとしては用意されてないのでどうしても特殊な方法になってしまうらしい。 - アプリからの画面キャプチャの方法 - 日本Androidの会 | Google グループ -- http://groups.google.com/group/android-group-japan/browse_thread/thread/280b0d2ec7425626/057b657b96521170 - [Android] ScreenGrab - ありし日の気分(改) (2010-09-01) -- http://sun.dhis.portside.net/~sakira/diary/?date=20100901#p01 framebufferを直接読み込むことでキャプチャを実現しているが、機種によってRGBがRBGになってたりエンディアンが異なったり色々。 2.3.3になってroot不要のキャプチャが可能になった!という話も流れているようだけど、結局システムアプリと同じ署名であれば可能で、サードパーティのアプリからはできないようだ。 - How to take screenshots in Android 2.3.3 without root? - Stack Overflow -- http://stackoverflow.com/questions/5161544/how-to-take-screenshots-in-android-2-3-3-without-root - Google Android 2.3.3 adds native screenshot support, may break Google Voice -- http://mobiputing.com/2011/03/google-android-2-3-3-adds-native-screenshot-support-may-break-google-voice/ 逆に言えばメーカ製のアプリであればOKということで、機種によってはその機種専用のボタンショートカットなどでスクリーンキャプチャ出来るようになっていたりするようだ。 個人的にはmalwareの餌食になりそうな気がするので、ADBやDDMS経由で取得できれば十分だと思う。 APIを用意するにしても、専用のpermissionを準備して制限をかけるとか。 他、adbからの画面キャプチャ関連: - android - Screenshot of the Nexus One from adb? - Stack Overflow -- http://stackoverflow.com/questions/2807070/screenshot-of-the-nexus-one-from-adb --- adb pull でframebufferを直接DL、ffmpegで変換してる。 - Androidの端末画面のキャプチャ(スクリーンショット)を撮ろう « Magmanotubo's Blog -- http://magmanotubo.wordpress.com/2010/01/23/android%E3%81%AE%E7%AB%AF%E6%9C%AB%E7%94%BB%E9%9D%A2%E3%81%AE%E3%82%AD%E3%83%A3%E3%83%97%E3%83%81%E3%83%A3%EF%BC%88%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88/ - android-screen-monitor - Android Screen Monitor - Google Project Hosting -- http://code.google.com/p/android-screen-monitor/