Android 友盟分享躺过的几个坑,大坑,坑爹啊
前言:公司上线了一个项目,做Android 客户端集成友盟分享,在做得过程中,遇到了下面3个问题,希望其他小伙伴注意。
( 友盟在线客服 QQ : 800083942 )
错误1:
1、错误描述
我是照着友盟的集成文档一步一步的集成的,做完后,发现qq空间分享不成功,总是出现失败,下面是失败截图
2、错误原因:分享链接错误
因为我们的应用还没有上线,所以分享的链接是本地搭建的服务器地址,比如:"http://192.168.1.132:8001/app“
就是因为这个分享链接的问题,导致我分享到qq空间出现异常。如果把这个链接换成: ”http://www.baidu.com“,分享就成功了。
总结:分享链接最好用带域名的链接,不要使用带ip地址的链接
错误2:错误的集成qq appId
1、错误的集成
2、正确的集成
二、关于分享成功回调的问题
1、关于 WXEntryActivity
1.1:路径的问题
1.1.1 :获取包名
这里请注意包名是app的包名,不是代码的包名,也不是AndroidManifest.xml 里面的package
Android studio正确获取的包名的方法:
1.1.2 设置WXEntryActivity路径 ,假设 1.1.1 中的路径是com.sp.szry
在Android studio 中创建一个包名为 com.sp.szry.wxapi
1.1.3 在AndroidManifest.xml 里面配置 WXEntryActivity 路径
1.2:代码的问题
public class WXEntryActivity extends WXCallbackActivity { @Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
} @Override
public void onReq(BaseReq req) {
super.onReq(req);
} //微信回调
@Override
public void onResp(BaseResp resp) { //分享之后的回调
switch ( resp.errCode ) {
case BaseResp.ErrCode.ERR_OK : //正确返回
//Toast.makeText(this, "微信分享成功回调了111", Toast.LENGTH_SHORT).show();
break;
}
super.onResp(resp);
}
}
2、关于分享回调
//分享回调
ShareCallBackLister shareCallBackLister ;
if ( shareCallBackLister == null ){
shareCallBackLister = new ShareCallBackLister();
} //打开分享面板
mController.openShare(ShareWebActivity.this, shareCallBackLister ) ;
/**
* 友盟分享回调
*/
class ShareCallBackLister implements SocializeListeners.SnsPostListener { @Override
public void onStart() {
} @Override
public void onComplete(SHARE_MEDIA share_media, int eCode , SocializeEntity socializeEntity) {
if (eCode == 200) { //分享成功 if (SHARE_MEDIA.SINA.toString().equals(share_media.toString()) ) { //新浪微博 }else if ( SHARE_MEDIA.WEIXIN.toString().equals(share_media.toString()) ){ //微信 }else if ( SHARE_MEDIA.WEIXIN_CIRCLE.toString().equals(share_media.toString()) ){ //微信朋友圈 }else if ( SHARE_MEDIA.QQ.toString().equals( share_media.toString()) || SHARE_MEDIA.QZONE.toString().equals( share_media.toString() )){ //qq }
} else {
String eMsg = "";
if (eCode == -101){
eMsg = "没有授权";
}
//分享失败
}
}
}
三:新浪微博分享的问题
错误描述:在分享中,我设置了分享的内容,分享的链接地址,分享的图片。分享完成后发现分享的http地址打不开,于是找到了一下解决方法
分享原代码:(错误的 )
//新浪微博
SinaShareContent sina = new SinaShareContent(); //分享标题
sina.setTitle( shareTitle );
//分享内容
sina.setShareContent( shareText );
//分享链接
sina.setTargetUrl( shareUrl ); //分享图片
if ( shareImageUrl.length() > 3 ){
sina.setShareImage(new UMImage(activity, shareImageUrl));
}else {
sina.setShareImage(new UMImage(activity, R.drawable.logo144));
} ShareWebActivity.mController.setShareMedia( sina );
正确的代码 :(正确的 ) (注意:分享的链接 要 拼接到 分享内容的后面 , 否则分享链接失效 )
//新浪微博
SinaShareContent sina = new SinaShareContent(); //分享标题
sina.setTitle( shareTitle );
//分享内容
sina.setShareContent( shareText + shareUrl ); //分享图片
if ( shareImageUrl.length() > 3 ){
sina.setShareImage(new UMImage(activity, shareImageUrl));
}else {
sina.setShareImage(new UMImage(activity, R.drawable.logo144));
} ShareWebActivity.mController.setShareMedia( sina );
Android 友盟分享躺过的几个坑,大坑,坑爹啊的更多相关文章
- Android 友盟分享详细集成过程及所遇问题解决
最近项目需要针对微信.朋友圈.QQ.QQ空间集成友盟分享的功能,说实话,我也是第一次做,期间碰到过很多问题,这篇随笔就来写一下我是怎么集成友盟分享的,还有碰到哪些问题,都是怎样解决的! 其实集成友盟并 ...
- android 集成友盟分享之后,想自定义分享面板的看过来
第一种情况 首先上传一张默认的友盟分享的效果图 看起来还不错,但是总是有这样那样的原因,需要我们对默认效果做出一些改变. 第二种情况 如果你想做出下面的效果: 或者这样的效果 : 总之上面的效果总是在 ...
- UmengShareDemo【友盟分享SDK集成,基于V6.9.3版本】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里简单记录下友盟分享SDK集成的步骤. 如果想要使用自定义分享对话框实现,请参考<ShareDialogDemo[分享对话框 ...
- 友盟分享小结 - iOS
因之前都写在了 AppDelegate 类中,看起来过于臃肿,此次基于友盟分享重新进行了一次优化,此次分享内容基于已经成功集成 SDK 后 code 层级部分.注:此次分享基于 SDK 6.9.3,若 ...
- Unity接入友盟分享遇到的坑
最近项目接了一下友盟分享的SDK,中间遇到了几个坑,写下几条注意事项记录一下. 接入之前需要准备友盟开发者账号,相应平台开发者账号(微信.QQ.新浪微博)等... 安卓端: 1.确保 AndroidM ...
- ios中调用友盟分享时qq可以分享但是微信失败,只显示文字,网页链接没有出现
问题如下,最后在老大各种替换的情况下,找到了原因,是因为图片失效了,友盟分享微信时必须需要图片才可以,如果服务器图片失效,则会失败: 注意下面的图片是否能够获取???????????????????? ...
- iOS开发-友盟分享(3)
iOS 友盟分享 这个主要是提到如何通过友盟去自定义分享的步骤: 一.肯定要去友盟官网下载最新的SDK包,然后将SDK导入到你的工程文件夹里面去: 二.注册友盟账号,将你的APP添加到你的账号里面然后 ...
- iOS开发-友盟分享使用(2)
1.友盟SDK提供功能:分享喜欢的东西到新浪微博.qq空间.为微信朋友圈等等等等社交圈. 2.友盟分享前期准备 (1)注册账号 去官网 (2)创建应用获取appkey 类似5556a53667e*** ...
- iOS开发-友盟分享(1)
1.集成友盟分享,需要先注册一个友盟账号,注册地址 友盟开发者平台官网 友盟集成文档 友盟sdk下载地址友盟sdk下载地址 2,成功下载sdk集成后,微信分享需要配置一下 新浪微博 之类到同样配置就 ...
随机推荐
- 前端模块化开发之seaJs
了解后端语言的童鞋一定听过模块化开发的概念,比如java.python等后端语言都有自己的模块化特性,然而和后端语言相比,javascript还尚未实现模块化的功能,虽然之后的更高版本可能引入模块化开 ...
- C语言学习003:Hello 指针
在C中使用指针的原因 避免副本 在函数调用的时候,可以只传递数据的引用,而不用传递数据 数据共享 两段代码可以同时操作同一份数据,而不是两份独立的副本 使用指针读写数据 #include <st ...
- 选择排序---堆排序算法(Javascript版)
堆排序分为两个过程: 1.建堆. 堆实质上是完全二叉树,必须满足:树中任一非叶子结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字. 堆分为:大根堆和小根堆,升序排序采用大根堆,降序排序 ...
- 【UWP】使用Action代替Command
在Xaml中,说到绑定,我们用的最多的应该就是ICommand了,通过Command实现ViewModel到View之间的命令处理,例如Button默认就提供了Command支持,如下 Xaml: & ...
- 关于js性能
1,声明变量要赋初值2,尽量避免声明全局变量,可以减少与系统的重名3,当编写大量js代码时,难免会遇到命名冲突,这是可以通过模拟命名空间方式 来避免冲突4,尽量避免使用全局变量,搜索全局变量是 ...
- 在使用vs2012中的MVC4出的错误!类型“System.Data.Entity.DbContext”在未被引用的程序集中定义
理解决方案的nuget程序包2.选中已安装的包,找到EntityFramework,点击管理 由于我是在Taobao_DAL中用到了EF的“数据上下文对象”,他报错了.所以我们要选中它,将EF5.0安 ...
- js中的延迟执行和定时执行
在js中,延迟执行函数有两种,setTimeout和setInterval,用法如下: function testFunction(){Console.log('hovertree.com');} s ...
- C# Redis使用之StackExchange
第1章 安装 在.NET平台使用Redis需要做如下准备工作: 创建一个新的Visual Studio应用或者打开一个已经存在的Visual Studio应用. 打开NuGet程序包 搜索并添加S ...
- 利用navigator对象在浏览器中检查插件
利用navigator对象在浏览器中检查插件,实现的代码如下. // IE4+.firefox.chrome.safari.opera中,利用navigator检测插件 ,name为插件的名字 fun ...
- java注释规范
前言: 现在java的出产地sun公司并没有定义一个java注释规范,注释规范目前是每个公司自己有自己的一套规范,主要是为了团队之间的协作. 1.基本规则 1.注释应该使代码更加清 ...