Android 截屏——调用adb命令&系统API
来源:互联网 发布:js防水涂料厚度检测 编辑:程序博客网 时间:2024/06/06 02:44
方法一:
在APK中调用“adb shellscreencap -pfilepath” 命令
该命令读取系统的framebuffer,需要获得系统权限:
(1).在AndroidManifest.xml文件中添加
<uses-permissionandroid:name="android.permission.READ_FRAME_BUFFER"/>
(2).修改APK为系统权限,将APK放到源码中编译, 修改Android.mk
LOCAL_CERTIFICATE:= platform
public void takeScreenShot(){ String mSavedPath = Environment.getExternalStorageDirectory() + File.separator + "screenshot.png" ; try { Runtime. getRuntime().exec("screencap -p " + mSavedPath); } catch (Exception e) { e.printStackTrace(); }
方法二:
利用系统的API,实现Screenshot,这部分代码是系统隐藏的,需要在源码下编译,
(1).在AndroidManifest.xml文件中添加
<uses-permissionandroid:name="android.permission.READ_FRAME_BUFFER"/>
(2).修改APK为系统权限,将APK放到源码中编译, 修改Android.mk
LOCAL_CERTIFICATE:= platform
public boolean takeScreenShot(String imagePath){ if(imagePath.equals("" )){imagePath = Environment.getExternalStorageDirectory() + File.separator+"Screenshot.png";}Bitmap mScreenBitmap;WindowManager mWindowManager;DisplayMetrics mDisplayMetrics;Display mDisplay; mWindowManager = (WindowManager) mcontext.getSystemService(Context.WINDOW_SERVICE);mDisplay = mWindowManager.getDefaultDisplay();mDisplayMetrics = new DisplayMetrics();mDisplay.getRealMetrics(mDisplayMetrics); float[] dims = {mDisplayMetrics.widthPixels , mDisplayMetrics.heightPixels };mScreenBitmap = Surface. screenshot((int) dims[0], ( int) dims[1]); if (mScreenBitmap == null) { return false ;}try {FileOutputStream out = new FileOutputStream(imagePath);mScreenBitmap.compress(Bitmap.CompressFormat. PNG, 100, out);} catch (Exception e) {return false ;} return true ;}
0 0
- Android 截屏——调用adb命令&系统API
- Android工具——adb命令
- Android 点滴——ADB命令列表
- Android开发工具—adb shell命令
- Android手机系统adb操作命令详解
- android手机系统adb常用的命令
- Android adb 命令查看系统Service
- 使用adb命令卸载Android系统应用
- 使用adb命令更改android系统hosts
- android手机系统adb常用的命令
- Android adb命令启动系统组件
- Android系统 adb shell命令大全
- Android 系统环境-常用adb命令操作
- Android手机系统adb常用的命令
- android系统常用adb命令整理
- Android adb 命令查看系统Service
- adb命令调用apk
- 调用Android系统关机命令
- dsfghj
- dfghjkl
- sdfghj
- dfghj/fdghjk,l
- 宣传部V迷
- Android 截屏——调用adb命令&系统API
- 深V吃饱没
- 山东风光好即可了的V大
- 开源夏令营--结题报告
- 二叉搜索树
- C/C++程序员必须熟练应用的开源项目
- 通过接口表导入物料成本
- 在制品和成本故障排除常用脚本
- opencv2.4.9 与vs2010 配置过程记载