BitmapDrawable drawable = (BitmapDrawable) getResources().getDrawable(R.drawable.fenxiangtupian);
Bitmap bitmap = drawable.getBitmap();
imagePath = Environment.getExternalStorageDirectory().getPath()+"/sharePicture.jpg";
OutputStream os = null;
try {
os = new FileOutputStream(imagePath);
bitmap.compress(Bitmap.CompressFormat.JPEG,100,os);
os.close();
} catch (IOException e) {
e.printStackTrace();
}
Log.i("imagePath", imagePath);
Log.e("TAGEEE","权限同意");
Uri imageUri = Uri.fromFile(new File(imagePath));
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.putExtra(Intent.EXTRA_STREAM, imageUri);
shareIntent.setType("image/*");
startActivity(Intent.createChooser(shareIntent, "分享到"));
分享的是drawable的 图片 需要修改 自己改代码
另外一种下载网络图片然后进行分享
/**
* 异步线程下载图片
*/
/**
* 获取网络图片
*
* @param imageurl 图片网络地址
* @return Bitmap 返回位图
*/
private Bitmap 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;
// handler.sendMessage(message);
}
}
//自定义DiaLog文字显示
//集成LoadingView实现showLoading() hideLoading() 方法
//把如下数据写入到两个方法中即可
Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
try {
} catch (Exception e) {
}
break;
}
super.handleMessage(msg);
}
};
//分享文字
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, "分享到"));
}
//分享单张图片
public void shareSingleImage() {
//由文件得到uri
Uri imageUri = Uri.parse(MediaStore.Images.Media.insertImage(this.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, "分享到"));
}