- public class MainActivity extends Activity {
- Button mButton;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- mButton = (Button) findViewById(R.id.button);
- mButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- GetandSaveCurrentImage();
- }
- });
- }
- protected void GetandSaveCurrentImage() {
- WindowManager widowManager = getWindowManager();
- Display display = widowManager.getDefaultDisplay();
- int w = display.getWidth();
- int h = display.getHeight();
- Bitmap Bmp = Bitmap.createBitmap(w,h,Config.ARGB_8888);
- View decorview = this.getWindow().getDecorView();
- decorview.setDrawingCacheEnabled(true);
- Bmp = decorview.getDrawingCache();
- try {
- String SavePath = getSDCardPath() + "/ScreenImage";
- File path = new File(SavePath);
- String filepath = SavePath + "/Screen_1.jpg";
- 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();
- Log.i("LW", "截屏文件已保存至SDCard/ScreenImage/下");
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- private String getSDCardPath() {
- File sdCardDir = null;
- boolean sdcardExit = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
- if(sdcardExit){
- sdCardDir = Environment.getExternalStorageDirectory();
- }
- return sdCardDir.toString();
- }
- }
来源: http://www.phpxs.com/code/1002710/