功能

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

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

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"/>  

更多相关文章

  1. android sim卡 TelephonyManager类:Android手机及Sim卡状态的获取
  2. Android(安卓)PreferenceActivity 使用练习
  3. 導入android項目出錯問題解決
  4. Android(安卓)设备电池容量和使用量的获取
  5. android 获取文件的扩展名和去掉文件的扩展名
  6. Android一键锁屏源码
  7. Android(安卓)Bitmap 相关
  8. android中获取文字的宽度
  9. Android中focusable属性的妙用——底层按钮的实现

随机推荐

  1. 【Android】Android(安卓)手机忘记锁屏密
  2. Android(安卓)Zip文件解压缩代码
  3. android 线程间的通信
  4. 如何使用Android(安卓)SDK开发Android应
  5. Android应用程序注册广播接收器(registerR
  6. Android(安卓)adb配置环境变量
  7. Android(安卓)多个APK共享数据(Shared Us
  8. Android主题换肤 无缝切换
  9. 10个常见的 Android(安卓)新手误区
  10. Android(安卓)Camera 系统框架分析