Android 第三方分享中遇到的问题以及解决方式
版权声明:本文为博主原创文章,未经博主同意不得转载。 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(这样的根本不会弹出微信分享)
Android 第三方分享中遇到的问题以及解决方式的更多相关文章
- Android 第三方分享中遇到的问题以及解决方案
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 第三方登录和分享过程中难免遇到各种纠结的问题,下面将我遇到的分享给大家. 先说第三方登录 1.首先要 ...
- Android Activity启动黑/白屏原因与解决方式
Android Activity启动黑/白屏原因与解决方式 我们新建一个HelloWorld项目,运行在手机上时,Activity打开之前会有一个动画,而这个动画里是全白或者全黑的(取决于你的主题是亮 ...
- android第三方分享之友盟社会化组件
前言 现在几乎所有的app都带有分享功能,第一为了更好地推广自己的产品,第二作为使用者也能及时的把自己觉得好的文章,话题,app分享到社交平台供大家一起学习和使用.开发中虽然android系统自带分享 ...
- Android studio 安装中遇到一些问题的解决办法,分享一下
从eclipse转到android studio也是很无耐,刚开始总是会遇到很多难题,但是都不要轻言放弃. 以下是我遇到的问题,并通过搜索引擎找到的解决办法,善用工具,善用头脑,勿为伸手之人. And ...
- cocos2d移植到安卓引入第三方so文件时候编译会删除解决方式
在游戏中对接支付的SDK的时候引入支付的so文件的时候在编译的时候总是被删除,后来经过查找资料自己整理出了一个解决方式 方案例如以下 在项目导入安卓中之后.在相应的jni目录中创建一个prebuilt ...
- https 页面中引入 http 资源的解决方式
相对协议 应用场景 浏览器默认是不允许在 https 里面引用 http 资源的,一般都会弹出提示框. 用户确认后才会继续加载,用户体验非常差. 而且如果在一个 https 页面里动态的引入 http ...
- Android Studio 错误: 非法字符: '\ufeff' 解决方式|错误: 须要class, interface或enum
在导入eclipse项目到Android Studio出现这种错误, 非法字符: '\ufeff' 解决方式|错误: 须要class, interface或enum.查阅后了解到Eclipse能够智能 ...
- Spring在Thread中注入Bean无效的解决方式
在Spring项目中,有时需要新开线程完成一些复杂任务,而线程中可能需要注入一些服务.而通过Spring注入来管理和使用服务是较为合理的方式.但是若直接在Thread子类中通过注解方式注入Bean是无 ...
- 在Eclipse的kepler中执行OSGIproject出错的解决方式
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/canlets/article/details/29620301 今天学习OSGI的过程中依照书上所述 ...
随机推荐
- Struts2 简介图
Struts2官方提供的,strus2的内部工作机制图解.
- Confluence 6 教程:在 Confluence 中导航
当你对 Confluence 有所了解后,你会发现 Confluence 使用起来非常简单.这个教程主要是针对你使用的 Confluence 界面进行一些说明,同时向你展示在那里可以进行一些通用的任务 ...
- Oracle11g温习-第三章:instance实例管理
2013年4月27日 星期六 10:30 1.instance 功能: 用于管理和访问database. 2.init parameter files :管理实例相关启动参数.位置:$ORACLE ...
- form数据请求参数格式
请求后台参数格式问题 当请求后台传递参数时,有多中类型,而每一种都需要前后台进行配合,而这有时候会很简单,有时候却十分困难,记录一下,以备后期深究 数据 后台需要的数据 form表单 嵌套数据,第二层 ...
- vscode使用集
abotteram.typescript-react-snippets-0.1.9akamud.vscode-javascript-snippet-pack-0.1.5alechp.react-too ...
- SPOJ UMR 10A 计算几何
DES:顺时针给出构成凸多边形的点.然后有Q个询问任意给出两个点的编号,询问由这两个点的连线将多边形分成的两部分面积较小的部分面积大小. 比赛时直接每次连线后求多边形求面积超时了.正确解法是求出利用叉 ...
- POJ 1847 Floyd_wshall算法
前面用dijstra写过了.但是捏.数据很小.也可以用Floyd来写. 注意题目里给出的是有向的权值. 附代码:#include<stdio.h>#include<string.h& ...
- html <frame>标签使用
标签定义 frameset 中的一个特定的窗口(框架) frameset中的每个框架都可以设置不同的属性,比如border,scrolling,noresize等 frame的常用属性 width: ...
- linux-网络使用
linux网络的基本使用 "ifconfig" 查看已经被激活的网卡详细信息 "ifconfig eth0" 查看特定的网卡信息 [root@ssgao ~]# ...
- SSO-CAS单点登录
基本概念 单点登录SSO ,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. CAS(Centeral Authenti ...