Android分享图片
16lz
2022-04-05
利用android自带的Intent.ACTION_SEND分享图片
Intent intent = new Intent();intent.setAction(Intent.ACTION_SEND);intent.putExtra(Intent.EXTRA_STREAM, uri);intent.setType("image/*");startActivity(Intent.createChooser(intent, "分享到"));
1. 本地图片
/** * 获取本地文件的uri * @param file * @return */ public static Uri getUriFromFile(File file) { Uri imageUri = null; if (file != null && file.exists() && file.isFile()) { imageUri = Uri.fromFile(file); } return imageUri; }
2. 网络图片
对于网络图片有两种方式:
方式一:通过url获取bitmap,然后转uri,这种方法在有些手机上会报错
MediaStore.Images.Media.insertImage(ContentResolver cr,
Bitmap source,
String title,
String description)
/** * 通过url获取bitmap * @param path * @return */ public static Bitmap returnBitMap(String path) { URL url = null; InputStream is =null; Bitmap bitmap = null; try { url = new URL(path); } catch (MalformedURLException e) { e.printStackTrace(); } try { HttpURLConnection conn = null;//利用HttpURLConnection对象,我们可以从网络中获取网页数据. if (url != null) { conn = (HttpURLConnection) url.openConnection(); } if (conn != null) { conn.setDoInput(true); conn.connect(); is = conn.getInputStream(); //得到网络返回的输入流 bitmap = BitmapFactory.decodeStream(is); } } catch (Exception e) { e.printStackTrace(); } return bitmap; }
方式二:通过url下载图片,然后用获取本地文件uri
- 将网络数据存到本地文件
- 将本地文件转uri
更多相关文章
- android 网络判断工具类(APN+WIFI)
- Android(安卓)WebView使用全面解析(加载网络资源、本地HTML,JS交互
- 《android关于WIFI的操作》
- Android获取屏幕分辨率和dpi
- android获取手机信息大全
- Android(安卓)读取Resources和Assets
- android获取手机序列号
- Android获取文件的MD5值
- android获取屏幕大小