安卓一键分享到qq,微信,微博,官方SDK非第三方

当我们项目中需要集成分享功能时,我们通常会采取一下几个办法:

1.调用系统自带分享
优点:简单快速,几行代码搞定,不需添加任何额外包;
缺点:系统会调出手机内部所有带分享功能的APP,且界面风格跟随系统,不可定制,若应用未安装则不可分享;
适用于对分享没有要求的APP,只要有分享功能即可。
2.使用第三方社会化组件分享
优点:集成相对简单,且有文档demo等参考,以及众多可选择的分享平台,甚至未安装的应用也可通过网页版分享等;
缺点:引入额外的库文件较多,容易使项目结构及代码发生混乱,且需花费时间研究;
3.使用需要分享的平台的官方SDK分享
优点:集成简单,只需引入对应平台sdk,UI可定制性极强,代码简洁;
缺点:同样需要安装对应客户端才可分享;

所以综合比较起来,如果只是定向分享到某几个平台,还是使用官方sdk比较好,本人对qq,微信,和微博这三个常用的分享平台做了一个封装,使用时只需三行代码即可调用,而额外的jar包,也只需添加对应平台的三个jar及微博的so文件:

项目结构:
这里写图片描述

调用方法:

popShareHelper=new PopShareHelper(this,shareContent);//初始化pop工具类
popShareHelper.show();

效果如图:
这里写图片描述

注意:
1.由于微信有点特殊,如果想监听到微信的分享结果,则需要在项目的跟路径下创建包wxapi,且需在名为WXEntryActivity的Activity中进行分享,方可监听得到;
2.qq分享须在清单文件中添加:

 <!-- QQ分享必须添加 -->
        <activity
            android:name="com.tencent.connect.common.AssistActivity"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="behind"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <activity
            android:name="com.tencent.tauth.AuthActivity"
            android:launchMode="singleTask"
            android:noHistory="true">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />

                <data android:scheme="tencent1104899255" />
            </intent-filter>
        </activity>

3.微博监听分享状态须在清单文件中,分享Activity下:

 <!-- 其中的intent-filter必须添加,否则无法监听微博分享-->
        <activity
            android:name=".wxapi.WXEntryActivity"
            android:exported="true"
            android:launchMode="singleTask"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

如果不需要监听分享状态,那么代码将会更加简洁,也无需创建wxapi.WXEntryActivity,大家可自行删除状态监听部分代码!

另:
本demo中所使用的APPkey并不能用于测试,大家在使用时可以将代码提取出来放在自己的项目中,而key需要大家根据包名和签名文件MD5到相应平台申请成功后替换,方可看到分享结果!

demo源码:http://download.youkuaiyun.com/detail/baiyuliang2013/9365171

2016-04-28:

为了大家可以直接看到微信的分享效果,特地新创了一个签名文件,并去微信开放平台申请了key,并重新做了一个demo,去掉了各平台的分享回调,使代码简洁易懂,可直接应用于项目:

这里写图片描述

这里写图片描述

需要注意的点:

debug安装包直接使用正式签名:

这里写图片描述

这里写图片描述

这里写图片描述

大家也可以用这种方法,省掉默认签名和正式签名切换的繁琐步骤!

另:如果遇到微信分享时一闪而过的现象,多半是key错误,请大家注意自己申请key时签名(正式)md5,包名是否书写有误!(微博分享道理相同)

无回调,微信可测demo:http://download.youkuaiyun.com/detail/baiyuliang2013/9505736

一、课程导语少人因各式各样原因,在读研时跨行生信或从事生信相关研究,其中少开端即自学。然漫漫自学路,迷茫困苦乃至萌生放弃做科研的念头。念此,决定在比较擅长的领域-病毒遗传进化方面做点尝试,开一门理论和实战演示并重的基础课。注:课程里数据分析演示,以病毒序列数据作为背景和例子。然大道共通,做其他生物遗传进化的同学也可以参考。 二、课程目标掌握常用的遗传进化分析方法和流程,包括序列下载和预处理、序列比对、基因突变分析、重组和重配分析、系统发育分析、基因选择压力分析、分化时间和进化速率估算、系统发生生物地理学分析(病毒时空动态分析)、蛋白质三级结构预测等。 三、适合人群(1)零基础,生物信息学入门;(2)有基础,需要提升的同学。 四、课程特色从算法原理到数据分析演示,知其所以然,避开数据分析黑箱子。思维导向,深入浅出式讲解,系统学习遗传进化相关知识。 五、课程安排【基础分析】专题一:病毒分类,序列下载,序列格式1. 病毒分类2. 病毒序列下载3. 序列格式解读4. 序列格式转换专题二:序列比对原理及应用1. 打分矩阵2. 序列比对策略3. 双序列比对4. 多序列比对专题三:基因突变分析、重组和重配分析1. 病毒基因突变分析2. 病毒重组和重配分析专题四:系统发育分析之理论基础篇1. 认识进化树2. 分子钟假说3. p距离与泊松校准4. 核苷酸进化模型深入剖析5. 几种建树方法原理详解专题五:系统发育分析之实战操作篇1. 建树流程2. 估算进化模型3. 系统发育树构建(NJ,ML,BI)4. 树的查看和美化专题六:系统发育分析进阶1. 系统发育信号检测2. 树拓扑结构比较3. 多基因联合建树【高级专题】专题七:基因选择压力分析1. 自然选择VS中性进化2. 枝长模型3. 位点模型4. 枝位点模型5. 进化枝模型6. PAML进行选择压力分析专题八:分化时间和进化速率估算1. 使用Beast估算分化时间和进化速率2. 使用Treetime估算分化时间和进化速率3. 使用LSD估算分化时间和平均进化速率专题九:系统发生生物地理学1. 谱系生物地理学介绍2. 贝叶斯随机搜索量(BSSVS)分析3. 结构化溯祖分析专题十:蛋白质三级结构预测1. 蛋白质三级结构介绍2. 蛋白质结构比对3. 三级结构预测方法4. 三级结构预测实践5. 三级结构质量评估6. 三级结构查看与作图
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白玉梁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值