ShareSdk使用心得
1. 微信和朋友圈:分享的时候设置了链接和图片,但就是不显示:
需要指明ShareType为WEB_PAGE
2. 需要完整添加 ShareSdk 的所需要的权限,不然分享闪退,并且不报异常;网络请求也是同理,切记,不要浪。
3. 新浪微博的分享比较特殊,不直接支持 url,需要将 url 与 text 拼接起来,所以需要监听回调:
// 由于新浪微博只支持text+Image的格式,只能将URL添加在text里面
oks.setShareContentCustomizeCallback(new ShareContentCustomizeCallback() {
@Override
public void onShare(Platform platform, cn.sharesdk.framework.Platform.ShareParams paramsToShare) { if ("SinaWeibo".equals(platform.getName())) {
paramsToShare.setText(mNews.getTitle() + ServiceCenter.getNewsUrl(mNews.getId()));
paramsToShare.setUrl(null);// 将其他平台的 url 置空
}
}
});
3.1 微信朋友圈分享比较特殊,只有 title,没有 text,所以需要在回调中重写朋友圈的 title,改为原本由 text 显示的内容
// 重写朋友圈的 title
oks.setShareContentCustomizeCallback(new ShareContentCustomizeCallback() {
@Override
public void onShare(Platform platform, cn.sharesdk.framework.Platform.ShareParams paramsToShare) { Log.d("leo", "platForm:" + platform.getName()); if ("WechatMoments".equals(platform.getName())) {
paramsToShare.setTitle(mNews.getTitle());
}
}
});
4. 新浪微博指定平台的分享,回调监听:
Platform sinaWeibo = ShareSDK.getPlatform(SinaWeibo.NAME);
sinaWeibo.setPlatformActionListener(new PlatformActionListener() {
@Override
public void onError(Platform arg0, int arg1, Throwable arg2) {
Toast.makeText(getContext(), "分享失败", Toast.LENGTH_SHORT).show();
Log.d("leo", "分享失败" + arg2);
}
@Override
public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) {
Toast.makeText(getContext(), "分享成功", Toast.LENGTH_SHORT).show();
Log.d("leo", "分享成功");
}
@Override
public void onCancel(Platform arg0, int arg1) {
Toast.makeText(getContext(), "分享取消", Toast.LENGTH_SHORT).show();
Log.d("leo", "分享取消");
}
});
sinaWeibo.share(sp);
5. Manifest 配置:
<!-- shareSdk -->
<activity
android:name="com.mob.tools.MobUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" > <!-- 调用新浪原生SDK,需要注册的回调activity -->
<intent-filter>
<action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter> <!-- qq&qq空间 -->
<intent-filter>
<data android:scheme="tencent1105111708" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity> <!-- 微信分享回调 -->
<activity
android:name="cn.baonajia.and.wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
ShareSdk使用心得的更多相关文章
- 封装ShareSDK中的分享功能封以及对类似第三方功能封装的心得【原创】
本篇的主题有三个: 1.封装思想的介绍 2.我的封装代码 3.我在封装sharesdk(采用的是简洁版本)分享功能是碰到的问题,以及解决方法. PS:其实这个我之前封装过一次,不过最近在重构项目时发现 ...
- iOS - ShareSDK第三方分享(图文和视频)和登录
由于近期工作需要自己抽时间搞了一下第三方分享,这里使用的是shareSDK的第三方,在使用的过程中有一些心得和体会,特在此和大家分享一下~ 1.在经过将近一周时间的开发,终于搞定ios分享了. 2.由 ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- NoSql数据库使用半年后在设计上面的一些心得
NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...
- 我的MYSQL学习心得(二) 数据类型宽度
我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(三) 查看字段长度
我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(四) 数据类型
我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(五) 运 ...
- 我的MYSQL学习心得(五) 运算符
我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...
- 我的MYSQL学习心得(六) 函数
我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...
随机推荐
- FineUI第九天---表单验证
表单验证 步骤: 1.比如为TextBox设置Required=”true”或者ShowRedStar=”true”两个属性,表示此输入为必填项,并且在标签的后面显示一个红色的星号提示. 2.Vali ...
- 用phpcms开发模块时中文乱码问题
学着用phpcms开发一个文件管理模块,出现中文乱码,折腾了半天,总结如下 1.自己在mysql客户端建表,默认表格的编码为latin1_swedish_ci,虽然可以建好后用alter命令修改编码, ...
- Web项目,F12调试的说明
sessionstorage,localstorage和cookie之间的区别 区别:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递.而sess ...
- iOS开发——常见错误——使用MJRefresh返回上一个界面蹦掉的情况
最近在使用MJRefresh框架时发现了一个bug 下面是我的源代码 前一个界面 -(void)tableView:(UITableView *)tableView didSelectRowAtInd ...
- 2016年11月14日--SQL创建数据库、表-查、插、删、改
--创建数据库(create database 数据库名)create database hq20161114go --使用选择数据库(use 数据库名)use hq20161114go --创建学生 ...
- CCF 模拟A 无脑大循环
http://115.28.138.223:81/view.page?opid=1 第一题用一组STL函数查找即可 #include<iostream> #include<cstdi ...
- mysql远程登录权限修改ubuntu
mysql默认只允许在localhost主机登录,如果想要通过远程登录管理,需要修改相应的权限. 方法一 首先:开启mysql所在主机的3306端口,或者关闭防火墙. service iptables ...
- espcms列表页ajax获取内容 - 并初始化swiper
<link rel="stylesheet" href="swiper.min.css" type="text/css" media= ...
- Struts2学习笔记《二》
struts.xml配置文件的全部配置元素:
- selenium源码分析-webdriver(二)
最近比较空闲就仔细看了一下Selenium的源码,因为主要是使用WebDriver所以重点关注了一下WebDriver的工作原理.在前一篇blog里已经解释过了WebDriver与之前Selenium ...