public class PrintScreenActivity extends Activity {
/** Called when the activity is first created. */
private static final String TAG = PrintScreenActivity.class.getName();
private Button btnShort;
ImageView image = null;
public static String SCREEN_SHOTS_LOCATION = Environment.getExternalStorageDirectory().getPath();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
image = (ImageView)findViewById(R.id.image);
btnShort = (Button) findViewById(R.id.btnShots);
btnShort.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) {
try {
takeScreenShot(getWindow().peekDecorView(),SCREEN_SHOTS_LOCATION);
} catch (Exception e) {
// TODO Auto-generated catch block
Log.e("tag",TAG);
}
}
});
}
public void takeScreenShot(View view) throws Exception {
takeScreenShot(view, "default");
}
public void takeScreenShot(View view, String name) throws Exception {
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap bitmap = view.getDrawingCache();
Canvas canvas = new Canvas(bitmap);
int w = bitmap.getWidth();
int h = bitmap.getHeight();
Paint paint = new Paint();
paint.setColor(Color.YELLOW);
SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String time = simple.format(new Date());
canvas.drawText(time, w-w/2, h-h/10, paint);
canvas.save();
canvas.restore();
FileOutputStream fos = null;
try {
File sddir = new File(SCREEN_SHOTS_LOCATION);
if (!sddir.exists()) {
sddir.mkdirs();
}
image.setImageBitmap(bitmap);
File file = new File(SCREEN_SHOTS_LOCATION +File.separator+"screen" + ".png");
fos = new FileOutputStream(file);
if (fos != null) {
bitmap.compress(Bitmap.CompressFormat.PNG, 90, fos);
fos.close();
}
} catch (Exception e) {
Log.e("tag",e.getCause().toString());
e.printStackTrace();
}
}
}
view.buildDrawingCache()有时不一定起作用,因为如果有硬件加速的话,drawingcache是失效的,所以也可以这样
Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bitmap);
view.dispatchDraw(c);
相关推荐
Android截屏截图的几种方法总结 Android截屏截图是 Android 开发中常见的需求, Android 截屏截图方法汇总将为您带来多种截屏截图方法的总结,让您更好地掌握 Android 截屏截图技术。在本文中,我们将探讨 ...
`ScreenShotSample_android截屏_DEMO_android截屏demo` 提供了一个Android客户端实现截屏服务的示例项目,帮助开发者了解如何在应用程序中集成截屏功能。下面将详细阐述这个DEMO涉及的核心知识点及其实现方法。 1. ...
是android轻量级的截屏工具非常的好用 1.把脚本放入指定目录下面: C:\Users\****\AppData\Local\Android\Sdk\platform-tools 2.把用手机打开想要截图的页面双击运行此脚本,图片就截取到脚本所在的文件夹
本示例“Android截屏示例demo”旨在教你如何通过执行ADB(Android Debug Bridge)shell命令来实现这一功能。ADB是Android开发者的重要工具,它允许你通过命令行与连接的Android设备进行交互,包括安装应用、调试、...
在Android开发中,屏幕截图是常见的功能之一,用于获取设备当前屏幕显示的内容。这个"android截图的demo(手机屏幕截图)"就是一个展示如何在Android应用中实现这一功能的例子。在这个Demo中,开发者可以学习到如何...
这个名为"Android截屏Demo"的项目提供了一个简单的示例,展示了如何通过编程方式实现在Android设备上进行屏幕截图。下面,我们将深入探讨这个Demo所涉及的核心知识点,以及如何实现这个功能。 1. **Android权限**:...
在Android平台上,实现截屏功能...总之,Android截屏功能的实现主要涉及对View的操作,包括获取根View、强制绘制、转换为Bitmap以及保存为文件等步骤。了解这些知识点,可以帮助开发者在自己的应用中轻松添加截屏功能。
在Android系统中,截屏是用户日常操作的一部分,主要用于记录屏幕内容或分享给他人。而无需root权限的截图方式更是受到广泛欢迎,因为root设备可能会带来安全风险。本主题主要探讨如何通过C++来实现这一功能,并解析...
在Android操作系统中,"android截屏(root)"是指通过获取设备的root权限来实现更高级别的屏幕截图功能。root是Android系统中的一个概念,它允许用户获取到系统的最高权限,能够访问和修改系统级别的文件,包括那些...
以下是对"android截屏保存为图片"这个主题的详细说明。 **一、Android系统中的截屏原理** 在Android系统中,截屏操作通常涉及到两个关键组件:SurfaceFlinger服务和WindowManager服务。SurfaceFlinger是负责将应用...
在Android中,截图可以通过多种方式实现,常见的有`View`的`drawToBitmap()`方法,`ViewGroup`的`buildDrawingCache()`和`getDrawingCache()`组合,以及`UiAutomation`类提供的截屏功能。这个Demo可能使用了`View`...
在Android平台上,截屏和录制屏幕是两种常见的功能,它们对于开发者调试应用、用户分享屏幕内容或制作教程视频都有重要作用。接下来,我们将深入探讨这两种技术的实现原理。 **一、Android 截屏** 1. **获取屏幕...
PC端 android 截图软件 ,电脑端可以实时显示,很方便,支持所以的android手机
这个名为“安卓截图截屏相关-Android截屏APP工具.zip”的压缩包显然包含了与开发和使用Android平台上的截图应用相关的资源。尽管描述中提到无法保证所有内容都能直接运行,但它为开发者提供了宝贵的参考和学习材料。...
在Android平台上,截屏和对截图进行模糊处理是常见的需求,尤其在开发用户界面或调试应用时。本文将深入探讨如何实现这两个功能,并基于提供的"TestPrintScreenAndBlur"压缩包文件来解释其中的FastBlur算法。 首先...
本文将围绕“android截屏”这一主题,深入探讨Android平台上的截屏实现方式,以及如何开发一个简单的截屏应用,如标题所提及的"SimpleCutScreen"。 1. **Android截屏API** Android系统提供了多种截屏的方法。对于...
本文将深入探讨如何在Android系统中实现截图,包括基本的截图方法以及如何扩展截图功能,如摇一摇截图和定时截图。 1. **基础截图方法** - **系统默认截图**: 用户可以通过同时按下电源键和音量下键(部分设备可能...
总之,这个"android截屏工程代码"提供了一套基础的Android截屏实现,涵盖了系统级和视图级别的方法,对于学习和实践Android截屏功能非常有帮助。在实际应用中,你可以根据项目的具体需求对其进行扩展和优化。
在安卓平台上,截图和截屏是用户日常操作的一部分,开发者也需要处理这些图像数据,例如将它们上传到服务器。本文将详细讲解安卓截图截屏的相关知识,以及如何将截图上传到服务器。 1. 安卓系统截图机制: 安卓...