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学习心得(四) 数据类 ...
随机推荐
- hash-4.hashtable
1.先看hashtable的源代码 public synchronized V put(K key, V value) { // Make sure the value is not null if ...
- Knockout.Js案例三单页面应用程序
<ul data-bind="foreach: folders"> <li data-bind="text: $data">& ...
- Laravel 5.1 文档攻略 —— Eloquent:模型对象序列化
在写api的时候,数据一般是以json格式进行传输的,没有对象可以直接使用.这个时候,对数据的序列化转换就很重要,Eloquent提供了很方便的方法和约定,不仅可以转换,还可以控制里面的键值. 基本用 ...
- linux 命令free -m 命令结果分析
free -m 命令详解 free -m 分析系统内存使用情况:
- C# 类成员备忘
隐藏基类的方法 调用重写或隐藏的基类方法 嵌套的类型定义 隐藏基类的方法 当从基类继承一个(非抽象)成员时,也就继承了其实现的代码,如果继承的成员是虚拟的,就可以用Overrid重写这段实现代码, 无 ...
- Java Dao设计模式
一.信息系统的开发架构 客户层-------显示层-------业务层---------数据层---------数据库 1.客户层:客户层就是客户端,简单的来说就是浏览器. 2.显示层:JSP/S ...
- Group Anagrams
Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...
- tcpdump for android L 5.x with pie support
由于使用了NDK编译的可执行文件在应用中调用,在4.4及之前的版本上一直没出问题. 最近由于要测试在Android L上的运行情况发现,当运行该可执行文件时,报如下错误: error: only po ...
- QQ登录类
2015-3-31 22:02:09 (同一套代码, pc端不能登录, 但是, 手机和平板都可以正常登录.....) 1. 首先是库文件, 登录->授权->token->openid ...
- monitor disk
#!/bin/bash # #top #Big_USERS - find big disk space users in various directories ################### ...