版权所有,禁止匿名转载;禁止商业使用。
private String savePath; //截屏后图片保存路劲 /* (non-Javadoc) * @see app.ui.TitleActivity#onCreate(android.os.Bundle) */ @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_prize); savePath = getSDCardPath() + "/cut_photo" ; } /** * 获取和保存当前屏幕的截图 */ 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(); // 3.保存Bitmap try { File path = new File(savePath); // 文件 String filepath = savePath + "/screen.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(this, "截屏文件已保存至SDCard/AndyDemo/",Toast.LENGTH_LONG).show(); } } catch (Exception e) { e.printStackTrace(); } } /** * 获取SDCard的目录路径功能 */ 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(); }