保存图片到本地和分享多张图片到QQ、微信、WhatsApp、Facebook等平台
一、分享图片到各个平台多种方式:如第三方的sdk:ShardSDK,直接通过分享到的平台的包名来分享图片的原生方法
1.通过ShareSDK分享图片,不要忘记导入相应的应用包和初始化ShardSDK哦
/**
* 分享
*/
private void share() {
OnekeyShare oks = new OnekeyShare();
// 关闭sso授权
oks.disableSSOWhenAuthorize();
// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间等使用
oks.setTitle(nameShare);// 商品编号 code, nameShare, imageUrlShare
// titleUrl是标题的网络链接,QQ和QQ空间等使用
oks.setTitleUrl(MyConfig.shopUrl + code);
// text是分享文本,所有平台都需要这个字段
oks.setText(nameShare + " " + MyConfig.shopUrl + code);
// imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
// oks.setImagePath("/sdcard/pic.png");// 确保SDcard下面存在此张图片
// 网络路径获取图片
oks.setImageUrl(imageUrlShare);// 商品的图片网址
//oks.setImageArray();//分享图片集合
// oks.setImageUrl("http://www.vipstation.com.hk/images/itemimg/L16454754.jpg");
// url仅在微信(包括好友和朋友圈)中使用
oks.setUrl(MyConfig.shopUrl + code);
// comment是我对这条分享的评论,仅在人人网和QQ空间使用
// oks.setComment("我是测试评论文本");
// site是分享此内容的网站名称,仅在QQ空间使用
// oks.setSite(getString(R.string.app_name));
// siteUrl是分享此内容的网站地址,仅在QQ空间使用
// oks.setSiteUrl(MyConfig.shopUrl + code);
/* 这里添加自定义的平台代码(复制链接) */
Bitmap logo = BitmapFactory.decodeResource(getResources(), R.drawable.ssdk_oks_classic_copylink);
String label = getString(R.string.ssdk_copyLink);
/* 复制链接图标的点击事件 */
View.OnClickListener listener = new View.OnClickListener() {
@SuppressWarnings("deprecation")
public void onClick(View v) {
ClipboardManager cm = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
// 将文本内容放到系统剪贴板里。
cm.setText(MyConfig.shopUrl + code);
ToastXutil.showToast(getApplicationContext(), getString(R.string.language_copiedSuccessfully));
}
};
/* 添加自定义图标 */
oks.setCustomerLogo(logo, label, listener);
// 启动分享GUI
oks.show(this);
}
2.效果展示图片
二、通过要分享到应用的包名的原生分享方式来分享图片,该分享方式是首先把图片保存到本地,再拿保存到本地的图片分享到各个应用
1.保存图片和分享图片
private boolean isShareImage;//是否是分享图片功能
private String packageName = null;//分享平台的一些包名
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.fragment_saleAll://保存所有图片
isShareImage = false;
getPermissions();//獲取權限和保存圖片
break;
case R.id.fragment_share://分享图片到朋友圈
isShareImage = true;
shareDirection();
break;