package com.liyoro.phonescreenshot;

import java.io.ByteArrayOutputStream;
import java.io.IOException;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.view.Display;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;

/**
* 手机截屏
* @author liyoro
* www.liyoro.com
*
*/
public class MainActivity extends Activity {
private ImageView mImageView = null;
private Button mButton = null;

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

mButton = (Button)findViewById(R.id.button);
mImageView = (ImageView)findViewById(R.id.imageview);
mButton.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

Bitmap mBitmap = Bytes2Bimap(getCurScreenPic(MainActivity.this));
mImageView.setImageBitmap(mBitmap);
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

public static byte[] getCurScreenPic(Activity activity) {
// 1.构建Bitmap
WindowManager windowManager = activity.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 = activity.getWindow().getDecorView();
decorview.setDrawingCacheEnabled(true);
Bmp = decorview.getDrawingCache();

ByteArrayOutputStream baos = new ByteArrayOutputStream();

Bmp.compress(Bitmap.CompressFormat.PNG, 90, baos);

byte[] b = baos.toByteArray();

try {
baos.flush();
baos.close();
} catch (IOException e) {
e.printStackTrace();
}
return b;
}

private Bitmap Bytes2Bimap(byte[] b) {
if (b.length != 0) {
return BitmapFactory.decodeByteArray(b, 0, b.length);
} else {
return null;
}
}
}

更多相关文章

  1. android手机中图片的拖拉及浏览功能
  2. 去掉android的屏幕上的title bar
  3. Android 读取和保存文件(手机内置存储器)
  4. C#开发Android手机应用全接触(mono for android)
  5. Android获取手机和应用的相关信息
  6. 详解Android中的屏幕方向
  7. android的开发 华为手机上不显示menu键
  8. android屏幕截图
  9. android获取手机信息大全

随机推荐

  1. Android MVC模式你真的明白了吗??
  2. Android(安卓)2016新技术
  3. android 控件抖动
  4. Android GreenDAO ORM的使用(一) 生成DAO
  5. Android:Material Design - Style - Colo
  6. Android(安卓)的RIL驱动模块
  7. android 显示gif图片
  8. 局域网场景下Android客户端实现同数据库
  9. Learning about Android Graphics Subsys
  10. android Supported Media Formats