功能

1. 实现截取当前屏幕的功能。

2. 把截取的图片保存到SDCard中的某个目录文件夹下面。


Java代码

package com.app.test01;import java.io.File;import java.io.FileOutputStream;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Bitmap.Config;import android.os.Bundle;import android.os.Environment;import android.view.Display;import android.view.View;import android.view.View.OnClickListener;import android.view.WindowManager;import android.widget.Button;import android.widget.Toast;public class JieTu extends Activity {private Button btnButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.jietu);btnButton = (Button) findViewById(R.id.button1);btnButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubGetandSaveCurrentImage();}});}/** * 获取和保存当前屏幕的截图 */private void GetandSaveCurrentImage() {// 1.构建BitmapWindowManager 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.保存Bitmaptry {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(this, "截屏文件已保存至SDCard/AndyDemo/ScreenImage/下",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();}}

添加读写权限

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

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



【参考】http://www.jb51.net/article/40446.htm


更多相关文章

  1. Android开发人员不得不收集的代码(blankj:utilcode)
  2. android Uri获取真实路径转换成File的方法
  3. (转)Android_GPS
  4. Android(安卓)使用自定义注解代替重复写findViewById代码
  5. android Uri获取真实路径转换成File的方法
  6. Android软件开发之获取通讯录联系人信息 + android联系人信息的
  7. Android(安卓)mac 真机调试
  8. Android菜鸟日记29-杂记
  9. Android(安卓)兼容获取Mac地址与手机信息工具

随机推荐

  1. 如何完全卸载Android Studio并进行重新安
  2. Android 4.0 external下功能库说明
  3. Android报错之.android/repositories.cfg
  4. Android使用FFmpeg(一)--编译ffmpeg
  5. android中求区域内两个坐标之间的距离的
  6. 《Gradle 权威指南》读书笔记——第八章
  7. Android Studio(七):项目从Eclipse到Andro
  8. 如何调用android内置图片,比如menu->add的
  9. Android SDK Download List
  10. Android Context 详解