1

ルート化されたAndroid携帯のスクリーンショットをローカルで撮ろうとしています。サービスを介して、他のアクティビティのスクリーンショットを撮りたいです。唯一の要件は、スクリーンショットが最大で 100 ミリ秒以内であることです。

私は試します

java.lang.Process process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
os.writeBytes("cat /dev/graphics/fb0 > " + raw + "\n");
os.writeBytes("exit\n");
os.flush();
os.close();
process.waitFor();

しかし、ファイルに書き込もうとすると、少し時間がかかりすぎます!

また、PCに接続せずに、電話でローカルにこれを実行しようとしています。

4

2 に答える 2

0

これはサポートされておらず、すべてのデバイスで機能する場合と機能しない場合があります。また、予期した形式ではないものを取得することもあります。4.0 以降のデバイスを使用している場合は、システムのスクリーンショット機能を実装してエミュレートする方法を確認できます。AOSP にはいくつかの小さなユーティリティ、screencap、screenshot もあります。それらのコードを確認することをお勧めします ( frameworks/base/cmds.

于 2012-12-17T07:14:50.217 に答える