import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Rect;
import android.view.View;
public class ScreenShot {
// 获取指定Activity的截屏,保存到png文件
private static Bitmap takeScreenShot(Activity activity){
//View是你需要截图的View
View 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;
}
//保存到sdcard
private 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){
ScreenShot.savePic(ScreenShot.takeScreenShot(a), "sdcard/xx.png");
}
}
分享到:
相关推荐
本文将基于标题“android屏幕截图代码”以及描述中的“用于截图的各种方法 android的各种方法实现”,详细探讨几种实现屏幕截图的方法,并尽可能地扩展相关内容,以便读者能够更好地理解和掌握这些技术点。...
### Android屏幕截图功能详解 #### 一、概述 在Android应用开发过程中,有时我们需要实现屏幕截图的功能,例如在社交应用中分享当前界面的画面,或者在游戏应用中保存精彩瞬间等场景。本文将详细介绍如何在Android...
本项目“android jni 屏幕截图 NativeScreenCapture”专注于利用JNI技术来实现Android设备的屏幕截图功能。下面将详细介绍这个过程涉及的关键知识点。 1. **JNI基础**:JNI是Android平台上的一个接口,它为Java应用...
总的来说,Android屏幕截图可以通过`View`的绘图缓存或者`MediaProjection` API实现,其中后者提供了更全面的截图能力,但需要用户权限。在实际开发中,考虑到兼容性和用户体验,我们需要根据具体场景选择合适的方法...
Android中截取屏幕截图功能代码,在android APP程序中,可以用以上代码截图。
在Android平台上,屏幕截图是开发者和用户日常操作中常见的功能之一。从Android 5.0(Lollipop)开始,系统提供了更加便捷的方式来实现这一功能,不仅优化了用户体验,也使得开发者能够更容易地集成屏幕截图功能到...
android实现屏幕监控 1、问题 1、性能问题还未解决 2、需要手机拥有ROOT权限。 3、FRAMBUFFER数据读写的需要人为配置(/fb0中数据的... 3、电脑屏幕全屏显示,按android屏幕显示,固定大小显示(代码中修改常量值)
Android-Android屏幕截图类库是为了简化这一过程而设计的,它提供了一种方便、高效的方式来捕获设备屏幕的内容。在这个项目中,我们关注的是RxScreenshotDetector-master,它是一个基于ReactiveX(RxJava)的Android...
【Android_Screenshot】项目是一个基于C++实现的Android设备屏幕截图工具,它的主要目标是让开发者或用户能够从个人计算机(PC)上直接捕获Android设备的屏幕图像。这个项目利用了Android Debug Bridge (ADB) 和 ...
在Android操作系统中,屏幕截图是...总的来说,Android屏幕截图提供了方便的用户接口和API,而多点触摸缩放则是提升用户体验的关键技术之一。开发者可以通过熟练掌握这些技巧,构建出更具吸引力的图像查看或编辑应用。
这个“android区域性屏幕截图”项目提供了解决此类需求的代码实现,已经经过测试并确认功能正常。 在Android中,获取屏幕截图通常涉及到以下几个关键知识点: 1. **获取屏幕大小**: 在Android中,我们可以通过`...
通过分析和理解这些代码,你可以更好地掌握Android屏幕截图的功能,并将其应用到自己的应用中。 总之,Android提供了一套相对简单的接口来截取屏幕图片并保存到外部存储。开发者需要理解权限管理的变化,并根据不同...
猎鹰眼捕捉Android屏幕截图! 屏幕快照中包括对话框,祝酒词和所有其他额外的窗口。 用法 // Saving screenshot to file Falcon . takeScreenshot(activity, file); // Take bitmap and do whatever you want ...
在Android平台上,实现区域...通过阅读和理解代码,你将深入掌握Android屏幕截图的实现机制,以及如何在应用中集成自定义的截图功能。这对于开发具有类似需求的应用非常有帮助,比如教育应用、游戏、社交媒体应用等。
一个用于捕获ios / android屏幕截图并将其保存到剪贴板或文件系统的CLI。 Usage用法osnap [ios | android] [-f filename.png] [-d android_device_id]:red_apple:使用iOS osnap io:camera:osnap! 一个用于捕获ios /...
在这种情况下,"Android摄像头屏幕截图工具" 提供了一种解决方案,它是一个基于DOS命令的小型应用程序,专为无显示屏Android设备设计。下面将详细介绍这个工具及其相关知识点。 首先,我们需要理解什么是DOS命令。...
在Android平台上,实现区域截图是一项常见的需求,例如用于制作教程、分享特定屏幕内容或...开发者可以通过学习这个源码,了解Android屏幕截图的实现原理,并可将其应用到自己的项目中,增强应用的功能性和用户体验。
在Android开发中,有时我们需要实现特定功能,例如只截取应用程序界面的一部分,而不是整个屏幕。这个功能在"指定屏幕内区域截图"中得以体现。在本文中,我们将深入探讨如何在Android中实现这一功能,包括如何选取...
Android MediaProjection截屏&录屏 1、解决Android Q中java.lang.SecurityException: Media projections require a foreground service of type ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION 异常 2、...