当前位置: 首页 > 编程笔记 >

Android实现截图和分享功能的代码

尹欣怿
2023-03-14
本文向大家介绍Android实现截图和分享功能的代码,包括了Android实现截图和分享功能的代码的使用技巧和注意事项,需要的朋友参考一下

先给大家展示下效果图吧

直接上代码:

xml的布局:

<Button
 android:id="@+id/btn_jp"
 android:layout_marginTop="10dip"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:gravity="center"
 android:text="截屏"
 android:textColor="#ff999999" />
<Button
 android:id="@+id/btn_share"
 android:layout_marginTop="10dip"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:gravity="center"
 android:text="分享"
 android:textColor="#ff999999" />

activity的方法:

private String imagePath;
//截屏
  btnJp.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
//    image = ScreenShot.shoot(AddressSelecterActivity.this);
    screenshot();
//    Bitmap bitmap = getBitmapByView(scrollView);
//    savePic(bitmap);
   }
  });
  //分享
  btnShare.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    if (imagePath != null){
     Intent intent = new Intent(Intent.ACTION_SEND); // 启动分享发送的属性
     File file = new File(imagePath);
     intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));// 分享的内容
     intent.setType("image/*");// 分享发送的数据类型
     Intent chooser = Intent.createChooser(intent, "Share screen shot");
     if(intent.resolveActivity(getPackageManager()) != null){
      startActivity(chooser);
     }
    } else {
     Toast.makeText(AddressSelecterActivity.this, "先截屏,再分享", Toast.LENGTH_SHORT).show();
    }
   }
  });

截取工具:

//截取屏幕的方法
private void screenshot() {
 // 获取屏幕
 View dView = 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) {
  }
 }
}

总结

以上所述是小编给大家介绍的Android实现截图和分享功能的代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍Android使用WebView实现截图分享功能,包括了Android使用WebView实现截图分享功能的使用技巧和注意事项,需要的朋友参考一下 在APP项目的开发过程中,经常会用到分享图片的功能,有时候还需要根据当前用户信息获取指定的分享图片,比如要求在用户分享图中显示用户名、Uid、用户头像等信息。想到的实现方法主要有两点: 1.通过android SDK自带的Canvas方法进

  • 本文向大家介绍Android 分享功能的实现代码,包括了Android 分享功能的实现代码的使用技巧和注意事项,需要的朋友参考一下 Android 分享功能的实现代码 一个Activity中,取出设备上安装的所有支持分享动作的Activity,在grid中显示。 实例代码: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

  • 本文向大家介绍Android 分享功能的实现,包括了Android 分享功能的实现的使用技巧和注意事项,需要的朋友参考一下  Android 分享功能的实现 Android程序里面的分享功能分为第三方程序分享,就是使用QQ空间,QQ微博,新浪微博,人人等第三方包进行分享; 还有就是用本地程序进行分享,如短信,UC浏览器,蓝牙等. 他们的区别是使用第三方包进行分享手机系统不用安装该类程序,而本地程序

  • 本文向大家介绍Android实现长图文截图功能实例代码,包括了Android实现长图文截图功能实例代码的使用技巧和注意事项,需要的朋友参考一下 前言 截图是我们日常开发经常会遇到的一个功能,最近工作遇到的需求又升级了,需要实现长图文的截图功能,经常查找相关资料终于实现了,支持截取微博、知乎、今日头条等第三方APP...... 先瞅瞅效果图: 效果图 再瞅瞅最终的长截图: 我是长截图一,瞅瞅嘛...

  • 本文向大家介绍Android实现分享功能,包括了Android实现分享功能的使用技巧和注意事项,需要的朋友参考一下 Android应用中能很方便的完成这些功能,很多的应用中都有“分享”功能?如何分享呢?下面给大家说说看。 最近有人问到Android分享功能用那个比较好,使用Android自带的Intent来进行分享还是借助第三方呢,直接上代码: 一、使用Intent直接和第三方应用进行通信: 看代

  • 本文向大家介绍android截屏功能实现代码,包括了android截屏功能实现代码的使用技巧和注意事项,需要的朋友参考一下 android开发中通过View的getDrawingCache方法可以达到截屏的目的,只是缺少状态栏! 原始界面 截屏得到的图片 代码实现 1. 添加权限(AndroidManifest.xml文件里) 2. 添加1个Button(activity_main.xml文件)