本篇文章主要介绍了关于Android方面的截屏操作,下面是主要的代码,最近也思考一个问题,怎么实现一个截屏后,把图片发送至一个服务器端呢,正在思考中希望有哪位有识之士给解答,有源码的更好,谢谢了!!

Android截屏代码如下:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="your.record.namespace"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk android:minSdkVersion="15" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>    <application        android:icon="@drawable/ic_launcher"        android:label="@string/app_name" >        <activity            android:name=".Record_GifActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>


package your.record.namespace;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Locale;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Rect;import android.os.Environment;import android.util.Log;import android.view.View;import android.widget.Toast;public class ScreenShot {// 获取指定Activity的截屏,保存到png文件private static Bitmap takeScreenShot(Activity activity) {// View是你需要截图的ViewView view = activity.getWindow().getDecorView();view.setDrawingCacheEnabled(true);view.buildDrawingCache();Bitmap b1 = view.getDrawingCache();// 获取状态栏高度Rect frame = new Rect();activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);int statusBarHeight = frame.top;System.out.println(statusBarHeight);// 获取屏幕长和高int width = activity.getWindowManager().getDefaultDisplay().getWidth();int height = activity.getWindowManager().getDefaultDisplay().getHeight();// 去掉标题栏// Bitmap b = Bitmap.createBitmap(b1, 0, 25, 320, 455);Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height- statusBarHeight);view.destroyDrawingCache();return b;}// 保存到sdcardprivate static void savePic(Bitmap b, String strFileName) {FileOutputStream fos = null;try {fos = new FileOutputStream(strFileName);if (null != fos){b.compress(Bitmap.CompressFormat.PNG, 90, fos);fos.flush();fos.close();}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}// 程序入口public static  void shoot(Activity a,int i) {String string="/mnt/sdcard/";ScreenShot.savePic(ScreenShot.takeScreenShot(a), string+i+".png");}}


package your.record.namespace;import java.util.List;import android.app.Activity;import android.app.ActivityManager;import android.app.ActivityManager.RunningTaskInfo;import android.content.ComponentName;import android.content.Context;import android.os.Bundle;import android.os.Environment;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class Record_GifActivity extends Activity {    /** Called when the activity is first created. */int i=0;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        Button Begin_Record=(Button)findViewById(R.id.Begin_Record);        //绑定监听器        Begin_Record.setOnClickListener(new ButtonListener());           String ImagePath = Environment.getDataDirectory().toString();         System.out.println("=========="+ImagePath);    }    class ButtonListener implements OnClickListener{public void onClick(View v) {// TODO Auto-generated method stubi++;ScreenShot.shoot(Record_GifActivity.this, i);}     }}

更多相关文章

  1. Android(安卓)开发获取程序启动次数
  2. Android之使用传感器获取相应数据
  3. 获取Android当前网络类型(2g、3g、4g、wifi)以及手机型号、版本号
  4. 获取Android设备的方向
  5. Android(安卓)截取屏幕图片并保存
  6. context对于android的重要意义
  7. 获取android手机内部存储空间和外…
  8. Android移动应用基础学习——第四章数据存储
  9. SharedPreferences的用法及指南

随机推荐

  1. Android——使用网络技术之使用OkHttp
  2. Android中visibility属性
  3. Android:WebView加载url网页显示不完整解
  4. Android绘图之RadialGradient 放射渐变(11
  5. android,自定义广播,最终广播接收者,防止拦
  6. apk反编译和再编译
  7. Android修改系统语言
  8. react-native之module的使用
  9. android 拖拉图片 选中居中
  10. HAL层,.sensors.h 头文件分析