本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处!

第三方登录和分享过程中难免遇到各种纠结的问题,下面将我遇到的分享给大家。

先说第三方登录

1、首先要搞清楚后台同事要你传的是code还是token,因为先传code,token值后台同事也可以获得。正常的步骤是先获得code,再拿code去取得token。

2、新浪和QQ的第三方登录,网上例子大把,但要做奇虎和支付宝的比较困难,还好网上找到一个例子,加部分注释分享给大家:http://download.csdn.net/detail/liuxian13183/7456803

分享:

1、如果经常不出分享或者分享失败,要看你在后台写的签名与手机目前签名是否一致。关于如何查看签名,新浪这里有签名工具app_signatures.apk,下载地址详见:https://github.com/sinaweibosdk/weibo_android_sdk

这里有个小建议:在测试阶段,建议用debug.keystore来签名,然后把签名写到新浪后台,记得包名要一致;正式发包,再用自己项目独立的keystore来打包,然后到后台改下签名。

2、SSO登录弹不出弹窗;原因要么是上边的,要么是分享和登录混淆,你把SSO登录写到实现IWeiboHandler.Response接口的类中

3、分享图片的时候,新浪告诉你要填binary对象,ios的简单,直接什么NData转换,这里试了各种byte[]都不成功,最终是使用file对象,也就是把图片保存下来,把file对象传给新浪终于解决这个问题。

4、某些公司的图片做成背景色是透明的,格式是PNG,导致分享时会被自动加上黑色背景。这个问题经证实后,怎么解决呢?

首先要按格式保存bitmap值:

/**
* 
* @param drawable
* @return
*/
public static Bitmap drawable2Bitmap(Drawable drawable) {
// 取 drawable 的长宽
int w = drawable.getIntrinsicWidth();
int h = drawable.getIntrinsicHeight();

// 取 drawable 的颜色格式
Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
: Bitmap.Config.RGB_565;
// 建立对应 bitmap
Bitmap bitmap = Bitmap.createBitmap(w, h, config);
// 建立对应 bitmap 的画布
Canvas canvas = new Canvas(bitmap);
drawable.setBounds(0, 0, w, h);
// 把 drawable 内容画到画布中
drawable.draw(canvas);
return bitmap;
}

然后给写一张白色背景

/**
* 给图片画一张背景
* @param color
* @param orginBitmap
* @return
*/
public static Bitmap drawBg4Bitmap(int color, Bitmap orginBitmap) {
Paint paint = new Paint();
paint.setColor(color);
Bitmap bitmap = Bitmap.createBitmap(orginBitmap.getWidth(),
orginBitmap.getHeight(), orginBitmap.getConfig());
Canvas canvas = new Canvas(bitmap);
canvas.drawRect(0, 0, orginBitmap.getWidth(), orginBitmap.getHeight(), paint);
canvas.drawBitmap(orginBitmap, 0, 0, paint);
return bitmap;
}

这样就完美解决透明背景的PNG图片,上传后背景变黑的问题。

5、微信分享总是不成功,原因:第一可能是微信的KEY不对,第二可能没对微信进行混淆保护,第三可能是图片大于32k(这种根本不会弹出微信分享)

附:Sina、Alipay、QQ、Qihoo第三方网页登录和部分代码

Android 第三方分享中遇到的问题以及解决方案的更多相关文章

  1. Android 第三方分享中遇到的问题以及解决方式

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/liuxian13183/article/details/36189343               ...

  2. android第三方分享之友盟社会化组件

    前言 现在几乎所有的app都带有分享功能,第一为了更好地推广自己的产品,第二作为使用者也能及时的把自己觉得好的文章,话题,app分享到社交平台供大家一起学习和使用.开发中虽然android系统自带分享 ...

  3. Android技巧分享——如何用电脑下载在Google play中应用的apk文件

    [Android技巧分享系列] 1.Android技巧分享——让官方模拟器和genymotion虚拟机飞起来 2.Android技巧分享——如何用电脑下载在Google play中应用的apk文件 G ...

  4. (转)从android一个apk中启动第三方apk应用

    从android一个apk中启动第三方apk应用 我们在开发中,经常遇到遇到在一个apk中要去运行另外一个apk,就像我们windows一样,搞一个快捷方式一样,那怎么实现呢? 问题的核心点在于我们要 ...

  5. Android studio 安装中遇到一些问题的解决办法,分享一下

    从eclipse转到android studio也是很无耐,刚开始总是会遇到很多难题,但是都不要轻言放弃. 以下是我遇到的问题,并通过搜索引擎找到的解决办法,善用工具,善用头脑,勿为伸手之人. And ...

  6. Android 第三方开源库收集整理(转)

    原文地址:http://blog.csdn.net/caoyouxing/article/details/42418591 Android开源库 自己一直很喜欢Android开发,就如博客签名一样,  ...

  7. 45.Android 第三方开源库收集整理(转)

    原文地址:http://blog.csdn.net/caoyouxing/article/details/42418591 Android开源库 自己一直很喜欢Android开发,就如博客签名一样,  ...

  8. Android技术分享-文字转语音并朗读

    Android技术分享-文字转语音并朗读 最近在做一个项目,其中有一个功能是需要将文本转换成语音并播放出来.下面我将我的做法分享一下. 非常令人开心的是,Android系统目前已经集成了TTS,提供了 ...

  9. iOS - ShareSDK第三方分享(图文和视频)和登录

    由于近期工作需要自己抽时间搞了一下第三方分享,这里使用的是shareSDK的第三方,在使用的过程中有一些心得和体会,特在此和大家分享一下~ 1.在经过将近一周时间的开发,终于搞定ios分享了. 2.由 ...

随机推荐

  1. 为什么button在设置标题时要用一个方法,而不像lable一样直接用一个属性

    为什么button在设置标题时要用一个方法.而不像lable一样直接用一个属性 原因是有时我们对      button做一次点击,须要改变button的标题.仅仅实用方法才干做到,而label是标签 ...

  2. Android4.2.2下Stagefright下OMX编解码器组件的控制流

    本文均属自己阅读源代码的点滴总结.转账请注明出处谢谢. 欢迎和大家交流. qq:1037701636 email:gzzaigcn2012@gmail.com Android源代码版本号Version ...

  3. angularjs 缓存 $q

    <!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...

  4. php中命名空间和use

    php中命名空间和use 总结 php中的namespace就有点像java中package包的概念 php中的use的概念就是用别人的命名空间中的类 php中的include enquire是引入文 ...

  5. 图论之堆优化的Prim

    本题模板,最小生成树,洛谷P3366 题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N.M,表示该图共有N个结点和M条无向边 ...

  6. Spring 注解拦截器使用详解

    Spring mvc拦截器 平时用到的拦截器通常都是xml的配置方式.今天就特地研究了一下注解方式的拦截器. 配置Spring环境这里就不做详细介绍.本文主要介绍在Spring下,基于注解方式的拦截器 ...

  7. PostgreSQL Replication之第八章 与pgbouncer一起工作(5)

    8.5 维护 pgbouncer 除了我们在本章已经说明的,pgbouncer有一个很好的能够执行基本管理和监控任务的交互式管理界面. 它是如何工作的呢?pgbouncer提供给您一个虚假的称为pgb ...

  8. ACM训练联盟周赛(第三场)

    A.Teemo's bad day Today is a bad day. Teemo is scolded badly by his teacher because he didn't do his ...

  9. Blink Coordinate Spaces

    Blink Coordinate Spaces Blink Coordinate Spaces Types of Zoom There are two types of zoom in Chromiu ...

  10. SSH概述与配置文件说明

    一.什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录.在出现SSH之前,系统管理员需要登入远程服务器执行系统管理任务时,都是用telnet来实现的,telnet协议采用明文密码传 ...