Android 截图程序实现 需要root权限 (调用linux 命令)
来源:互联网 发布:飞升真魔甲升级数据 编辑:程序博客网 时间:2024/05/17 18:04
public class Screenshot extends Activity {private static final String DATA_PATH = "/data/data/com.su.ScreenShot/"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); CopyAssets(); Button btClose = (Button) findViewById(R.id.button1); btClose.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { runRootCommand("chmod 777 /data/data/com.su.ScreenShot/gsnap"); Log.v("2", "2---------------"); runRootCommand("/data/data/com.su.ScreenShot/gsnap test.jpg /dev/graphics/fb0");//使用有root权限的命令 运行gsnap的c程序 Log.v("3", "3---------------"); } }); } public static boolean runRootCommand(String command) {Process process = null;DataOutputStream os = null;try {process = Runtime.getRuntime().exec("su");os = new DataOutputStream(process.getOutputStream());os.writeBytes(command + "\n");os.writeBytes("exit\n");os.flush();process.waitFor();} catch (Exception e) {return false;} finally {try {if (os != null) {os.close();}process.destroy();} catch (Exception e) {// nothing}}return true;} public static boolean runCommand(String command) {Process process = null;try {process = Runtime.getRuntime().exec(command);process.waitFor();} catch (Exception e) {return false;} finally {try {process.destroy();} catch (Exception e) {// nothing}}return true;}private void CopyAssets() {AssetManager assetManager = getAssets();String[] files = null;try {files = assetManager.list("");} catch (IOException e) {}for (int i = 0; i < files.length; i++) {InputStream in = null;OutputStream out = null;try {if (!(new File(DATA_PATH + files[i])).exists()) {in = assetManager.open(files[i]);out = new FileOutputStream(DATA_PATH + files[i]);copyFile(in, out);in.close();in = null;out.flush();out.close();out = null;}} catch (Exception e) {}}}private void copyFile(InputStream in, OutputStream out) throws IOException {byte[] buffer = new byte[1024];int read;while ((read = in.read(buffer)) != -1) {out.write(buffer, 0, read);}}}
其实主要还是人家的c程序 我只是写了几句shell命令
赚点豆豆~
C程序的地址 http://download.csdn.net/detail/sfshine/3781315
- Android 截图程序实现 需要root权限 (调用linux 命令)
- Android使用linux命令实现关机和重启---需要root权限
- php调用Linux命令启动程序(root权限)
- android应用如何在有需要时申请root权限?在程序中要调用哪些语句来实现?
- android java获得root权限调用linux命令
- android java获得root权限调用linux命令
- 安装在Android机器上的截图程序实现,需要root
- 安装在Android机器上的截图程序实现,需要root
- 安装在Android机器上的截图程序实现,需要root
- CGI程序里调用system、popen运行命令需要root权限---boa配置需要注意的问题
- 如何使用CDT调试需要ROOT权限的LINUX程序
- 开发板环境下在Android应用程序中调用需要root权限的脚本命令的一种方法
- linux下php调用系统命令(root权限)
- linux下利用C或C++ 语言调用需要root权限
- linux下利用C或C++ 语言调用需要root权限
- 清理linux swap内存,需要root权限
- Linux 修改系统时间 需要Root权限
- 为什么 Android 截屏需要 root 权限
- 正则表达式口诀
- 筛选法求素数
- 各种浏览器的Hack写法(chrome firefox ie等)
- 如何使用WebView访问https的url——处理SslError
- 向Jenkins学习 - What we can learn from Jenkins?
- Android 截图程序实现 需要root权限 (调用linux 命令)
- c#.net导出为Excel文件
- SQL数据库不同备份名称存放不同路径还原方法
- cocos2d-x初探学习笔记(28)--CCTMXTiledMap
- 几个基础排序算法(一)
- MySQL/Oracle等常用数据库比较
- js学习--eval()方法
- 最多约数问题
- Java并发学习笔记(5)停止基于线程的服务