Android截图的两种方法

本文介绍了在Android中获取Activity截图的两种方法:1) 使用View的getDrawingCache,适用于保存特定View,并需要SD卡写入权限;2) 利用系统截图命令,能截取整个屏幕但需APP具有root权限。每种方法的适用场景和限制都有所不同。
摘要由CSDN通过智能技术生成

转载请注明出处:http://blog.csdn.net/fishle123/article/details/50790835

有时候我们需要保存某个Activity的截图,下面介绍两种方法。

1)使用view的getDrawingCache来获取当前Activity的截图

<strong> </strong> private static String TAG = "--->";
    private static final String SCREEN_SHOT_DIR = "TestScreenShot";
    private static String FILE_NAME_PRE = "ScreenShot";
// 获取指定Activity的截屏,保存到png文件

    /**
     * @param activity
     * @return
     */
    @SuppressWarnings("deprecation")
    private static Bitmap takeScreenShot(Activity activity) {
        // View是你需要截图的View,这样保存的是当前APP的整个截图,因此使用DecorView,如果是某个子控件,可以通过findViewById找到对应的View
        View view = activity.getWindow().getDecorView();
        boolean isCacheEnable = view.isDrawingCacheEnabled();
        view.setDrawingCacheEnabled(true);
        view.buildDrawingCache();
        Bitmap bmp = view.getDrawingCache();
        // 获取状态栏高度
        Rect frameRect = new Rect();
        view.getWindowVisibleDisplayFrame(frameRect);
        int statusBarHeight = frameRect.top;
        // 获取屏幕长和高
        int width;
        int height;
        Display display = activity.getWindowManager().getDefaultDisplay();
        if (Build.VERSION.SDK_INT > 12) {
            Point point = new Point();
            display.getSize(point);
            width = point.x;
            height = point.y;
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值