Android分享图片
16lz
2021-01-23
利用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 JNI处理图片的例子
- Android根据电量变化为不同图片的方法【电池电量提示】
- Android 图片旋转(使用Matrix.setRotate方法)
- Android WebView使用全面解析(加载网络资源、本地HTML,JS交互)
- android 网络判断工具类(APN+WIFI)
- Android之关于手势操作图片的缩放与移动
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- Delphi XE5 android 获取网络状态《转》
- Android volley框架加载网络图片