第一步 :获取ShareSDK

官网:http://www.mob.com

完整的集成文档:http://wiki.mob.com/android-sharesdk%E5%AE%8C%E6%95%B4%E7%9A%84%E9%9B%86%E6%88%90%E6%96%87%E6%A1%A3/

下载资源 http://www.mob.com/#/downloadDetail/ShareSDK/android

右边的比较全,左边为简洁版

解压以后可以得到如下图的目录结构:

     
  • “ShareSDK for Android”目录中的“Libs”包含“MainLibs”和“OnekeyShare”,分别是ShareSDK的核心库和“快捷分享”的源码库,说明文档也在此目录下,集成ShareSDK前请务必仔细阅读。
  • “ShareSDK for Android ApiDoc”包含Mainlibs和OnekeyShare的JavaDoc,供开发者开发时查阅。
  • “ShareSDK for Android Sample”包含ShareSDK的功能演示代码和apk文件,Sample源码的JavaDoc在http://wiki.mob.com/docs/sharesdk/android/中。
  • “ShareSDK for Android Services”包含ShareSDK已经发布的“插件服务”,暂时我们只提供了“评论与赞”服务,压缩包中已经提供了此插件服务的依赖库、示例代码、JavaDoc和apk文件。

第二步:导入相关jar包和资源

有三种集成方式,只介绍一种

在Windows下可以直接右键使用JAVA执行ShareSDK for Android目录下的快速集成工具QuickIntegrater.jar,这个程序会自动搜集集成SDK所需要的jar和资源,完成以后可以通过复制目标目录中的文件到您项目中覆盖就行了。
如果右键不行,直接到命令行中【java -jar 】然后把此文件拉到命令行中就可以运行了
   


第三步:配置第三方应用信息

有三种方式,只介绍一种

  • 通过“assets/ShareSDK.xml”文件来配置,此方式会以明文存在,优先级最低,但是最为方便、集中;
ShareSDK.xml以XML格式存储数据,每一个平台一个块,除了社交平台外,开发者在ShareSDK注册应用时得到的Appkey需要填写在块“ShareSDK”中,如果此Appkey不是开发者自己的Appkey,则将来在ShareSDK应用后台的统计数据将不正确。
ShareSDK的每一个平台都具备SortId、Id、Enable四个字段,除此之外的字段(如新浪微博的AppKey、AppSecret、RedirectUrl、ShareByAppClient等字段)需要到目标平台上注册应用以后得到,请正确填写这些字段的数据,否则ShareSDK无法完成授权,则后续的其它操作也将无法执行。

第四步:配置清单文件

1、添加权限

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>

<uses-permission android:name="android.permission.INTERNET"/>

2、注册Activity

<activity

            android:name="com.mob.tools.MobUIShell"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"

android:windowSoftInputMode="stateHidden|adjustResize" />

3、如果您的项目集微信或者微信朋友圈,需要在package目录下创建【wxapi】目录再放置WXEntryActivity。在微信分享后回调时会检查是否有此activity,没有将会报错。注:在第二步中如果勾选了微信,那么会自动生成了此目录及此文件。

另外,微信要求签名和包名绑定,具体详见微信官方文档。

这个Activity同样需要清单文件中注册。

<activity

            android:name=".wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:screenOrientation="portrait"

android:theme="@android:style/Theme.Translucent.NoTitleBar" />

使用易信时也有同样的问题,其目录为yxapi,类名为YXEntryActivity。


第五步:添加代码

打开您项目的入口Activity,在其onCreate中插入代码:ShareSDK.initSDK(this);代码会初始化ShareSDK,此后对ShareSDK的操作都以此为基础。

如果需要统计应用被打开次数,可以在出口activity中的onDestroy方法的第一行加入ShareSDK.stopSDK(this);代码会结束Share SDK的统计功能并释放资源。
InitSDK是可以重复调用的,其实Share SDK建议在您不确定的时候调用这个方法,来保证Share SDK被正确初始化。
而stopSDK一旦调用了,就必须重新调用InitSDK才能使用Share SDK的功能,否则会出现空指针异常。
完成SDK初始化以后,就可以调用授权、获取资料、分享等操作了,详细的使用方法,请参考。
    //onekeyshare分享调用九宫格方法
    private void showShare() {
        ShareSDK.initSDK(this);
        OnekeyShare oks = new OnekeyShare();
        oks.disableSSOWhenAuthorize();//关闭sso授权
        String path = Environment.getExternalStorageDirectory().getPath();
        oks.setTitle("我是分享标题");// title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用
        oks.setTitleUrl("http://sharesdk.cn");// titleUrl是标题的网络链接,仅在人人网和QQ空间使用
        oks.setText("我是分享文本");// text是分享文本,所有平台都需要这个字段
        oks.setImagePath(path + "test.jpg");//图片的本地路径,Linked-In以外的平台都支持此参数
        oks.setUrl("http://sharesdk.cn");// url仅在微信(包括好友和朋友圈)中使用
        oks.setComment("我是评论");// comment是我对这条分享的评论,仅在人人网和QQ空间使用
        oks.setSite(getString(R.string.app_name));// site是分享此内容的网站名称,仅在QQ空间使用
        oks.setSiteUrl("http://sharesdk.cn");// siteUrl是分享此内容的网站地址,仅在QQ空间使用
        oks.show(this);// 启动分享GUI

}


我草草,基本上所有私人信息全部暴露了
包括:账号信息,分享信息,终端属性,网络信息,以及时间地点性别……我去!


ShareSDK 社会化分享 集成步骤的更多相关文章

  1. Mob之社会化分享集成ShareSDK

    接着上篇顺便分享一篇自己使用 ShareSDK 的笔记,上篇我们集成了 SMSSDK 完成了短信接收验证码的功能,请参考Mob 之 短信验证集成 SMSSDK,如何在项目已经集成 SMSSDK 的情况 ...

  2. 在Android Studio中使用shareSDK进行社会化分享(图文教程)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. Android社会化分享功能的实现步骤

    众所周知,互联网是一个资源共享的地方,在网络上,我们可以分享我们所有认为好的资源.而随着互联网信息爆发式的增长,我们习惯了一键分享功能,比如:微博分享.微信分享.QQ空间分享.人人网分享等等.由此可见 ...

  4. [Xcode 实际操作]八、网络与多线程-(25)实现ShareSdk的社会化分享功能

    目录:[Swift]Xcode实际操作 完成开发包的安装和配置之后,本文将演示社会化分享功能的具体开发步骤. 在项目导航区,打开并编辑程序代理文件[AppDelegate.swift] import ...

  5. Android集成友盟社会化分享功能

    1.  产品概述 友盟社会化组件,可以让移动应用快速具备社会化分享.登录.评论.喜欢等功能,并提供实时.全面的社会化数据统计分析服务. 指南将会手把手教你使用社会化组件SDK,用5分钟为APP增加新浪 ...

  6. QF——iOS第三方登录和社会化分享

    QQ登录的流程: 1.下载SDK,并添加到项目中: 2.添加SDK需要的依赖库,以及配置文件: 3.重写APPDelegate的方法handleOpenURL和openURL: 4.实现Tencent ...

  7. iOS社会化分享(干货)

    一.苹果原生集成的社会化分享 1.哪些平台 (1)Twitter (2)FaceBook (3)Flickr (4)Vimeo (5)新浪微博  :iOS6 (6)腾讯微博 : iOS7 2.框架 : ...

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

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

  9. android shareSDK 微博分享案例

    android shareSDK 微博分享案例 ShareSDK APP_KEY 219b1121fc68 腾讯微博 key 801517904 secret bfba83ae253c8f38dabe ...

随机推荐

  1. ActiveReports 交互式报表之向下钻取解决方案

    在 ActiveReports 中可以动态的显示或者隐藏某区域的数据,通过该功能用户可以根据需要显示或者隐藏所关心的数据,结合数据排序.过滤等功能可以让用户更方便地分析报表数据. 本文中展示的是销售数 ...

  2. PHP添加、更新solr索引

    <?php $options = array ( 'hostname' => 'localhost', 'port' => '8080', 'path'=>'solr/help ...

  3. jQuery获取select、checkbox、radio的方法总结

    在进行网页的前后台交互的时候,经常需要获取单选框(radio).复选框(checkbox)以及下拉列表(select/dropdownlist)选中的值. 总结了一下,方便以后复习查看: 1.获取选中 ...

  4. Spring4.0学习笔记(9) —— Spring泛型依赖注入

    1.定义基础仓库 package com.spring.generic.di; public class BaseRepository<T> { } 2.定义基础服务层 package c ...

  5. Bootstrap中的 Typeahead 组件

    Bootstrap 中的 Typeahead 组件其实就是嵌入到其中的typeahead.js插件,可以完成输入框的自动匹配功能,在通过一些人工的调整基本可以胜任所有的匹配功能和场景,下面介绍下简单的 ...

  6. python之sys模块

    38.python的sys模块: 用于提供对Python解释器相关的操作: 1 2 3 4 5 6 7 8 9 sys.argv           命令行参数List,第一个元素是程序本身路径 sy ...

  7. 如何搭建MVC3与配置models层

    1.1 新建项目 第一步:打开Vs2010界面,点击左上角文件,点击新建,选择项目 1.1(图1) 第二步:点击网站Web类型,选择ASP.net MVC3 Web应用程序,在名称中输入项目名称(解决 ...

  8. 用tbody代替div 解决 table tr的隐藏问题

    有如下需求,需要控制一个table内几个tr的显示问题.一开始想的方法是在这几个要显示的tr外面套一个div,利用div的display:none属性来解决. 但是后来发现div和tr嵌套的时候会有问 ...

  9. bestcoder单调区间

    http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=584&pid=1006 题解:ORZ Matrix67 ht ...

  10. OC中的@interface和java中的区别以及 @implementation @protocol

      java 在java中的interface是‘接口’的意思,而java的类声明用class,即接口用interface声明,类是用class声明,是两个独立的部分. 只有在类声明要实现某个接口时, ...