ユーザーが携帯電話を振るたびにスクリーン キャプチャ ユーティリティ ()を実行するsu
プロセスを Android で実行しています。/system/bin/screencap
ユーザーが電話を振って別のスクリーンキャップを取得できるようにする前に、各スクリーンキャップが終了するのを待ちたいと思います。ただし、プロセスprocess.waitFor()
を閉じてスクリーンキャップごとに再度開きたくないため、使用は機能しませんsu
(スーパーユーザーアプリのトーストが表示され、スクリーンキャップに干渉するため)
これまでのところ、私は持っています:
サービス中onCreate()
:
p = Runtime.getRuntime().exec("su");
os = p.getOutputStream();
シェイクリスナーハンドラーで:
if (isReady) {
isReady = false;
String cmd = "/system/bin/screencap -p " + nextScreenshotFullPath + "\n";
os.write(cmd.getBytes("ASCII"));
os.flush();
[INSERT MAGIC HERE]
isReady = true;
Bitmap bm = BitmapFactory.decodeFile(nextScreenshotFullPath);
// Do something with bm
}
[INSERT MAGIC HERE] は私が探しているものです -screencap
終了するまで待機するコードです。