我在 Android 中运行一个进程,每次用户摇晃手机时su
,它本身都会运行 screencap 实用程序 ( )。/system/bin/screencap
我想等待每个屏幕截图完成,然后我才允许用户通过摇晃手机来获取另一个屏幕截图。但是,使用process.waitFor()
对我不起作用,因为我不想关闭su
进程并为每个屏幕截图重新打开它(因为它会提示 SuperUser 应用程序的 toast,这会干扰屏幕截图)
到目前为止,我有:
在服务中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
完成的一段代码。