ShareSDK(一)-OneKeyShare内容长度有限制

一、问题

使用ShareSDK的时候,如果不是使用OneKeyShare,默认是在后台进行分享的,没有任何提示,也看不到到底分享了什么内容,需要自定义分享平台列表界面和分享内容界面。图省事,ShareSDK提供了OneKeyShare,一键快捷分享,不仅能弹出九宫格窗口,而且看得到分享内容界面,还可以选择好友分享和多平台同时分享,十分的方便。我正在集成的是含有Facebook等5个平台的分享,发现问题:

下面是分享代码:

/********* 一键分享 ************/
	public static void showShare(Context context, String shareTxt, String imagePath) {

		OnekeyShare oks = new OnekeyShare();
		// 关闭sso授权
		oks.disableSSOWhenAuthorize();
		// 分享时Notification的图标和文字
		oks.setNotification(R.drawable.ic_launcher, context.getResources().getString(R.string.app_name));
		// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
		<span style="color:#ff0000;">oks.setTitle(context.getResources().getString(R.string.share));</span>
		// titleUrl是标题的网络链接,仅在人人网和QQ空间使用
		// oks.setTitleUrl("http://sharesdk.cn");
		// text是分享文本,所有平台都需要这个字段
		<span style="color:#ff0000;">oks.setText(shareTxt);
		oks.setImagePath(imagePath);</span>
		// url仅在微信(包括好友和朋友圈)中使用
		// oks.setUrl("http://sharesdk.cn");

		// comment是我对这条分享的评论,仅在人人网和QQ空间使用
		// oks.setComment("我是测试评论文本");
		// site是分享此内容的网站名称,仅在QQ空间使用
		// oks.setSite( context.getResources().getString(R.string.app_name));
		// siteUrl是分享此内容的网站地址,仅在QQ空间使用
		// oks.setSiteUrl("http://sharesdk.cn");
		oks.show(context);

	}

其实,从上面可以看出,真正分享的内容就3条,一个标题,一个正文(由产品的名称和产品链接组成),一个图片(本地的,先下载好)。

发现问题:

1.分享的正文内容长度有限制。

2.分享的正文中含有超链接,没有突出显示。

二、解决方法

找到OneKeyShare的源代码,进行修改,找到EditPage这个类:

1.

private static final int MAX_TEXT_COUNT =500;

这个是修改字符长度的,最好改大一点,如果分享时,内容比较长,而且又选择了很多好友,会超出限制,所以设置长一点。

2.

	// 文字输入区域
		etContent = new EditText(getContext());
		//设置文字区域含有超链接的颜色
		etContent.setAutoLinkMask(Linkify.ALL);

设置超链接,选择所有。

其实,OneKeyShare就是自定义了EditText控件,用于控制分享时的内容,标题,图片等信息,我们可以自己修改它的属性。如果自定义分享界面,可以参考OneKeyShare进行自定义。

时间: 2024-08-10 05:25:45

ShareSDK(一)-OneKeyShare内容长度有限制的相关文章

再谈multistage text input(中文输入法)下UITextView的内容长度限制

之前写过一篇<如何更好地限制一个UITextField的输入长度>,在文章最后得到的结论是可以直接使用 UIKIT_EXTERN NSString *const UITextFieldTextDidChangeNotification; 进行监听,截断超出maxLength的部分. 所以后来我在处理UITextView的内容长度时,也直接参考这个方法: [[NSNotificationCenter defaultCenter] addObserver:self selector:@select

微信学习总结 06 文本消息的内容长度限制揭秘

1 文本消息的内容长度限制揭秘 理解页面 字符集设置,避免乱码. 2. 具体实现 刘峰博主的博文已经分析的很清楚了,直接去看就行了 .http://blog.csdn.net/lyq8479/article/details/8967824 资料参考: https://mp.weixin.qq.com/wiki http://blog.csdn.net/lyq8479/article/details/8967824

读取 XML 数据时,超出最大字符串内容长度配额 (8192)

问题描述,在调用接口报错: 格式化程序尝试对消息反序列化时引发异常:  尝试对参数 http://tempuri.org/ 进行反序列化时出错: GetRechargeInfoListResponse.InnerException 消息是“反序列化对象 属于类型 ServiceReference.GetRechargeInfoListResponseBody 时出现错误.读取 XML 数据时,超出最大字符串内容长度配额 (8192).通过更改在创建 XML 读取器时所使用的 XmlDiction

HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求

问题:HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求. 原因:Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值(IIS 7 默认文件上传大小时30M). 解决:更改asp.net文件上传大小限制 1. 修改IIS的applicationhost.config 文件位置: %windir%/system32/inetsrv/config/applicationhost.config 找到<requestFiltering>

转:IIS请求筛选模块被配置为拒绝超过请求内容长度的请求

HTTP错误404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求,原因是Web服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值(IIS 7 默认文件上传大小时30M). 解决方法 1. 修改IIS的applicationhost.config a.文件位置: %windir%/system32/inetsrv/config/applicationhost.config b.找到 <requestFiltering> 节点 c.为这个节点添加如下元素

asp.net 开发问题:Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值。

"Web 服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值." 这个问题在开发需要上传文件的时候可能会遇到,今天遇到这个问题,百度过也有挺多的修改方法. 方法1: 修改IIS的applicationhost.config文件位置: %windir%/system32/inetsrv/config/applicationhost.config                    或                   %windir%\system32\inetsrv\c

asp.net上传大文件-请求筛选模块被配置为拒绝超过请求内容长度的请求

HTTP错误404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求,原因是Web服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值(IIS 7 默认文件上传大小时30M). 要解决方法即是更改ASP.NET文件上传大小限制: 1. 修改IIS的applicationhost.config 文件位置: %windir%/system32/inetsrv/config/applicationhost.config 找到<requestFiltering>节

Web Service 或 WCF调用时读取 XML 数据时,超出最大字符串内容长度配额(8192)解决方法

1.调用服务时服务 当我们使用 Web Service 或 WCF 服务时,常把读取的数据转化为string类型(xml格式),当数据量达到一 定数量时,会出现以下异常: 错误:格式化程序尝试对消息反序列化时引发异常: 尝试对参数 http://tempuri.org/ (命名空间)进行反序列化时出错: InnerException 消息是“反序列化对象异常,读取 XML 数据时,超出最大字符串内容长度配额 (8192).通过更改在创建 XML 读取器时所使用的 XmlDictionaryRea

IIS请求筛选模块被配置为拒绝超过请求内容长度的请求

HTTP错误404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求,原因是Web服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值(IIS 7 默认文件上传大小时30M). 解决方法 1. 修改IIS的applicationhost.config a.文件位置: %windir%/system32/inetsrv/config/applicationhost.config b.找到 <requestFiltering> 节点 c.为这个节点添加如下元素