该篇文章是说明在Android手机或平板电脑中如何实现截取当前屏幕的功能,并把截取的屏幕保存到SDCard中的某个目录文件夹下面。实现的代码如下:

    /**     * 获取和保存当前屏幕的截图     */    private void GetandSaveCurrentImage()      {          //1.构建Bitmap          WindowManager windowManager = getWindowManager();          Display display = windowManager.getDefaultDisplay();          int w = display.getWidth();          int h = display.getHeight();                    Bitmap Bmp = Bitmap.createBitmap( w, h, Config.ARGB_8888 );                        //2.获取屏幕          View decorview = this.getWindow().getDecorView();           decorview.setDrawingCacheEnabled(true);           Bmp = decorview.getDrawingCache();                   String SavePath = getSDCardPath()+"/AndyDemo/ScreenImage";              //3.保存Bitmap           try {              File path = new File(SavePath);              //文件              String filepath = SavePath + "/Screen_1.png";              File file = new File(filepath);              if(!path.exists()){                  path.mkdirs();              }              if (!file.exists()) {                  file.createNewFile();              }                            FileOutputStream fos = null;              fos = new FileOutputStream(file);              if (null != fos) {                  Bmp.compress(Bitmap.CompressFormat.PNG, 90, fos);                  fos.flush();                  fos.close();                                      Toast.makeText(mContext, "截屏文件已保存至SDCard/AndyDemo/ScreenImage/下", Toast.LENGTH_LONG).show();              }                } catch (Exception e) {              e.printStackTrace();          }      }          /**     * 获取SDCard的目录路径功能     * @return     */    private String getSDCardPath(){        File sdcardDir = null;        //判断SDCard是否存在        boolean sdcardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);        if(sdcardExist){            sdcardDir = Environment.getExternalStorageDirectory();        }        return sdcardDir.toString();    }

由于要对SDCard进行操作,所以别忘记了在manifest.xml文件中赋以对SDCard的读写权限:

<uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

更多相关文章

  1. android文件的写入与读取---简单的文本读写
  2. [置顶] android ScrollView,ListView 截屏并保存到图库
  3. 一道面试题引发的对android中context的研究(一)-SharedPreference
  4. Android中dip(dp)与px之间单位转换 dip2px dp转px 无context算法
  5. Android(安卓)适配屏幕问题(一) 自动生成dimens文件
  6. Android中系统自带的锁:WalkLock、KeyguardLock
  7. android将老项目改为按屏幕大小自适应,只需2步
  8. 解决android模拟器太大,小屏幕无法完全显示的问题
  9. android ScrollView,ListView 截屏并保存到图库

随机推荐

  1. 2014-7-23 Android(安卓)非常好用的组件
  2. Android(安卓)JNI之HelloWorld
  3. 获得手机相关信息的实现方法
  4. Android触摸事件流程剖析
  5. Android(安卓)OpenCV(四):绘制几何图形
  6. 【cocos2dx 3.2】2048
  7. Databinding简单的分析ImageView属性andr
  8. Android开发之ViewFlipper
  9. 一个自定义的Topbar模板
  10. Android(安卓)48个小知识(第一篇1-24)很强