【发布时间】:2014-08-10 13:16:12
【问题描述】:
所以我正在开发一个可以记录设备屏幕的应用程序。
我正在使用Runtime.getRuntime来执行命令。
所以我发现你可以使用adb shell screenrecord --bit-rate 8000000 --time-limit 15 /sdcard/demovideo.mp4通过 adb 记录你的设备屏幕,所以我这样做了。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageButton time_launch = (ImageButton) findViewById(R.id.r_1);
time_launch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Process process = null;
try {
process = Runtime.getRuntime().exec("screenrecord --bit-rate 8000000 --time-limit 5 /sdcard/video.mp4");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
}
});
}
}
但遗憾的是,当我按下按钮时,什么都没有发生,视频根本没有录制。我尝试在互联网上四处寻找,但没有任何帮助。希望你们中的一个可以帮助我。
【问题讨论】:
-
你应该有root权限和Android 4.4+才能录制。
-
将 su 添加到命令行,但仍然没有任何反应。
-
确实,这在安全模型保持不变的设备上是不允许的。
-
所以不可能通过应用程序做到这一点?还是我需要研究另一种方法?