安卓 截屏分享

//截图的储存位置
private String imagePath = "";

/**
 * 分享 文字 图片
 *
 * @param activity      当前页面
 * @param activityTitle 分享的activity的标题
 * @param msgTitle      内容标题
 * @param msgText       内容
 * @param imgPath       图片链接
 */
public void shareMsg(Activity activity, String activityTitle, String msgTitle, String msgText,
                     String imgPath) {
    Intent intent = new Intent(Intent.ACTION_SEND);
    if (imgPath == null || imgPath.equals("")) {
        // 纯文本
        intent.setType("text/plain");
    } else {
        //分享图片
        File f = new File(imgPath);
        if (f != null && f.exists() && f.isFile()) {
            intent.setType("image/*");
            Uri u = Uri.fromFile(f);
            intent.putExtra(Intent.EXTRA_STREAM, u);
        }
    }
    intent.putExtra(Intent.EXTRA_SUBJECT, msgTitle);
    intent.putExtra(Intent.EXTRA_TEXT, msgText);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    activity.startActivity(Intent.createChooser(intent, activityTitle));
}


/**
 * 截屏
 * 截取屏幕的方法
 */

private void screenshot(Activity activity) {
    // 获取屏幕
    View dView = activity.getWindow().getDecorView();
    dView.setDrawingCacheEnabled(true);
    dView.buildDrawingCache();
    Bitmap bmp = dView.getDrawingCache();
    if (bmp != null) {
        try {
            // 获取内置SD卡路径
            String sdCardPath = Environment.getExternalStorageDirectory().getPath();
            // 图片文件路径
            imagePath = sdCardPath + File.separator + "screenshot.png";
            File file = new File(imagePath);
            FileOutputStream os = new FileOutputStream(file);
            bmp.compress(Bitmap.CompressFormat.PNG, 100, os);
            os.flush();
            os.close();
        } catch (Exception e) {
        }
    }
}

/**
 * 分享截图
 *
 * @param activity      当前页面
 * @param activityTitle 分享的activity的标题
 * @param msgTitle      标题
 */
public void shareScreenShot(Activity activity, String activityTitle, String msgTitle) {
    screenshot(activity);

    Intent intent = new Intent(Intent.ACTION_SEND);
    //分享图片
    File f = new File(imagePath);
    if (f != null && f.exists() && f.isFile()) {
        intent.setType("image/*");
        Uri u = Uri.fromFile(f);
        intent.putExtra(Intent.EXTRA_STREAM, u);
    }

    intent.putExtra(Intent.EXTRA_SUBJECT, msgTitle);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    activity.startActivity(Intent.createChooser(intent, activityTitle));
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值