您的位置:首页 > 移动开发 > Android开发

Android屏幕截图

2015-12-29 15:18 495 查看
public class MainActivity extends Activity {

private static final String SavePATH = Environment.getExternalStorageDirectory().getAbsolutePath()+"/simple";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void buttonClick(View v) {
GetandSaveCurrentImage();
}

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();//Returns the top-level window decor view-返回窗口顶层的视图
decorview.setDrawingCacheEnabled(true);//允许图形缓存
Bmp = decorview.getDrawingCache();//返回一个非比例的位图

// 3.保存Bitmap
try {
File path = new File(SavePATH);
// 文件
String filepath = SavePATH + "/Screen_simple_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(MainActivity.this, "截屏文件已保存至SDCard/ADASiteMaps/ScreenImage/下", Toast.LENGTH_LONG).show();
}

} catch (Exception e) {
e.printStackTrace();
}
}
}


权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: