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

              

                                本文来自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 第三方分享中遇到的问题以及解决方案

    本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 第三方登录和分享过程中难免遇到各种纠结的问题,下面将我遇到的分享给大家. 先说第三方登录 1.首先要 ...

  2. Android Activity启动黑/白屏原因与解决方式

    Android Activity启动黑/白屏原因与解决方式 我们新建一个HelloWorld项目,运行在手机上时,Activity打开之前会有一个动画,而这个动画里是全白或者全黑的(取决于你的主题是亮 ...

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

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

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

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

  5. cocos2d移植到安卓引入第三方so文件时候编译会删除解决方式

    在游戏中对接支付的SDK的时候引入支付的so文件的时候在编译的时候总是被删除,后来经过查找资料自己整理出了一个解决方式 方案例如以下 在项目导入安卓中之后.在相应的jni目录中创建一个prebuilt ...

  6. https 页面中引入 http 资源的解决方式

    相对协议 应用场景 浏览器默认是不允许在 https 里面引用 http 资源的,一般都会弹出提示框. 用户确认后才会继续加载,用户体验非常差. 而且如果在一个 https 页面里动态的引入 http ...

  7. Android Studio 错误: 非法字符: '\ufeff' 解决方式|错误: 须要class, interface或enum

    在导入eclipse项目到Android Studio出现这种错误, 非法字符: '\ufeff' 解决方式|错误: 须要class, interface或enum.查阅后了解到Eclipse能够智能 ...

  8. Spring在Thread中注入Bean无效的解决方式

    在Spring项目中,有时需要新开线程完成一些复杂任务,而线程中可能需要注入一些服务.而通过Spring注入来管理和使用服务是较为合理的方式.但是若直接在Thread子类中通过注解方式注入Bean是无 ...

  9. 在Eclipse的kepler中执行OSGIproject出错的解决方式

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/canlets/article/details/29620301 今天学习OSGI的过程中依照书上所述 ...

随机推荐

  1. CF1082G Petya and Graph

    题意 定义图权 = 图中边权总和 - 图中点权总和(空图的图权=0),求 n 个点 m 条边的无向图最大权子图. 把边看成点,这个点与两个原图中的点连边.直接最小割求最大闭合子图即可.

  2. Nginx配置https, 80端口重定向443

    server { listen 443 ssl; server_name 域名; charset utf-8; access_log /var/log/nginx/webhook.iminho.me/ ...

  3. python-day17--生成器

    1.本质:就是迭代器 2.生成器函数: def func(): a=1 b=2 yield a #要返回的第一个值 yield b #要返回的第二个值 ret = func() #拿到一个生成器pri ...

  4. kill word fore out

    1●   fore f ɔ: 预先,前面

  5. Excel中输入身份证后3位变成0,怎么办?

    1.问题介绍: 1)问题: 在使用excel输入身份证号时,会发现直接输入数字后最后面的三位数字都变成0了,这可怎么办呢?

  6. 快速切题 sgu123. The sum

    123. The sum time limit per test: 0.25 sec. memory limit per test: 4096 KB The Fibonacci sequence of ...

  7. POJ 2109 Power of Cryptography 大数,二分,泰勒定理 难度:2

    import java.math.BigInteger; import java.util.Scanner; public class Main { static BigInteger p,l,r,d ...

  8. property 的详细使用方法

    property(fget=None, fset=None, fdel=None, doc=None)  俗话说条条大路通罗马,同样是完成一件事,Python 其实提供了好几个方式供你选择. prop ...

  9. (C/C++学习笔记) 十八. 继承和多态

    十八. 继承和多态 ● 继承的概念 继承(inheritance): 以旧类为基础创建新类, 新类包含了旧类的数据成员和成员函数(除了构造函数和析构函数), 并且可以派生类中定义新成员. 形式: cl ...

  10. 基于资源名的MVC权限控制

    在程序复杂程度不断上升的过程中,无可避免需要触碰到权限控制,而权限控制又与业务逻辑紧紧相关,市场上出现了大量的权限控制产品,而程序的开发,讲究去繁化简的抽象,在我的开发过程中,逐渐发现程序的权限控制核 ...