Android 系统分享图片、文字、代码
使用系统自带分享功能,分享图片文字
1、分享文本
//分享文字
public void shareText() {
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_TEXT, "This is my Share text.");
shareIntent.setType("text/plain");
//设置分享列表的标题,并且每次都显示分享列表
startActivity(Intent.createChooser(shareIntent, "分享到"));
}
2、分享网络图片
//分享单张图片
public void shareSingleImage() {
//由文件得到uri
Uri imageUri = Uri.parse(MediaStore.Images.Media.insertImage(getActivity().getContentResolver(), bitmap, null, null));
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
shareIntent.setType("image/*");
startActivity(Intent.createChooser(shareIntent, "分享到"));
}
--------------------- url 转 bitmap ------------------------
/**
* 异步线程下载图片
*/
Bitmap bitmap;
/**
* 获取网络图片
*
* @param imageurl 图片网络地址
* @return Bitmap 返回位图
*/
public Bitmap GetImageInputStream(String imageurl) {
URL url;
HttpURLConnection connection = null;
Bitmap bitmap = null;
try {
url = new URL(imageurl);
connection = (HttpURLConnection) url.openConnection();
connection.setConnectTimeout(6000); //超时设置
connection.setDoInput(true);
connection.setUseCaches(false); //设置不使用缓存
InputStream inputStream = connection.getInputStream();
bitmap = BitmapFactory.decodeStream(inputStream);
inputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
return bitmap;
}
class Task extends AsyncTask<String, Integer, Void> {
protected Void doInBackground(String... params) {
bitmap = GetImageInputStream((String) params[0]);
return null;
}
protected void onPostExecute(Void result) {
super.onPostExecute(result);
Message message = new Message();
message.what = 0x123;
}
}