Mob ShareSDK集成

1. 下载SDK

官网上即可下载 http://www.mob.com/

2. App Key & App Secret获取

1. 注册账号,进入后台,立即使用ShareSDK后进入

这里写图片描述

2. 添加新应用,获取Key&Secret

这里写图片描述

3. 获取到的Key&Secret在应用中会用到

这里写图片描述

3. 应用集成ShareSDK

1. 解压下载的SDK

这里写图片描述

2. 使用快速工具进行集成

勾选&确定后生成需要的jar包。

这里写图片描述
这里写图片描述
这里写图片描述

3. 配置工程

1. 新建AndroidStudio工程
2. 复制jar包

QuickIntegrater会自行产生一个文件夹,复制此文件夹中所有文件到您的项目中覆盖即可。

这里写图片描述

3. 项目依赖复制的jar包

将复制到工程中的jar包全选->右键->Add As Libraries即可,依赖成功后的jar包前会生成一个小三角符号,可以展开查看jar包中的内容。然后就可以在项目中调用jar包里集成好的类和方法咯。

这里写图片描述

4. 配置AndroidManifest.xml

-添加权限

直接从官方教程Copy过来的,根据项目需要再自定义添加。

    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <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.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <!-- 蓝牙分享所需的权限 -->
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

-添加Activity信息
直接从官方教程Copy过来,回调处理部分等以后研究好了再更新。

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

     <intent-filter>
         <data android:scheme="tencent100371282" />
         <action android:name="android.intent.action.VIEW" />
         <category android:name="android.intent.category.BROWSABLE" />
         <category android:name="android.intent.category.DEFAULT" />
     </intent-filter>

    <!-- 调用新浪原生SDK,需要注册的回调activity -->
    <intent-filter>
        <action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

    <!--集成line客户端登录授权,需要添如下格式的过滤器-->
    <intent-filter> 
    <data android:scheme="line.1477692153" />
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.BROWSABLE" />
    <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

 </activity>
5. 修改ShareSDK.xml

-ShareSDK.xml中各字段的意义

Id : 自定义字段,整型,用于您项目中对此平台的识别符
SortId : 此平台在您分享列表中的位置,整型,数值越大越靠后
ShareByAppClient : 是否使用客户端进行分享
Enable : 布尔值,标记此平台是否有效

** ShareSDK的每一个平台都具备SortId、Id、Enable字段,除此之外的字段(如新浪微博的AppKey、AppSecret、RedirectUrl、ShareByAppClient等字段)需要到目标平台上注册应用以后得到,请正确填写这些字段的数据,否则ShareSDK无法完成授权,则后续的其它操作也将无法执行。

-ShareSDK AppKey修改

在Mob平台添加应用获取到的AppKey复制到ShareSDK的AppKey属性中。

这里写图片描述

-分享平台信息修改

以新浪微博为例,将在新浪微博开放平台http://open.weibo.com/中申请获得的AppKey和AppSecret以及授权回调页链接复制到ShareSDK中新浪微博相应内容里,必须输入正确有效的内容,否则会分享不成功。

这里写图片描述

4. 添加分享代码

-初始化

要使用ShareSDK功能需先将其初始化,本人比较喜欢在Activity中的onCreate()方法中进行初始化操作。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ShareSDK.initSDK(this); //初始化ShareSDK
    }

-分享方法

官网给出的分享方法,在需要打开分享的部分调用此方法即可。以后可根据项目需要自定义内容。具体的还需深入学习~

private void showShare() {
 OnekeyShare oks = new OnekeyShare();
 //关闭sso授权
 oks.disableSSOWhenAuthorize(); 
 // title标题,印象笔记、邮箱、信息、微信、人人网、QQ和QQ空间使用
 oks.setTitle("标题");
 // titleUrl是标题的网络链接,仅在Linked-in,QQ和QQ空间使用
 oks.setTitleUrl("http://sharesdk.cn");
 // text是分享文本,所有平台都需要这个字段
 oks.setText("我是分享文本");
 //分享网络图片,新浪微博分享网络图片需要通过审核后申请高级写入接口,否则请注释掉测试新浪微博
 oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");
 // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数
 //oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片
 // url仅在微信(包括好友和朋友圈)中使用
 oks.setUrl("http://sharesdk.cn");
 // comment是我对这条分享的评论,仅在人人网和QQ空间使用
 oks.setComment("我是测试评论文本");
 // site是分享此内容的网站名称,仅在QQ空间使用
 oks.setSite("ShareSDK");
 // siteUrl是分享此内容的网站地址,仅在QQ空间使用
 oks.setSiteUrl("http://sharesdk.cn");

// 启动分享GUI
 oks.show(this);
 }

-DemoActivity源码贴一下

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.onekeyshare.OnekeyShare;

public class MainActivity extends Activity {

    private Button shareBtn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        shareBtn = (Button) findViewById(R.id.share_btn);
        shareBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showShare();
            }
        });
        ShareSDK.initSDK(this);
    }

    private void showShare() {
        OnekeyShare oks = new OnekeyShare();
        oks.disableSSOWhenAuthorize();
        oks.setTitle("标题");
        oks.setTitleUrl("http://sharesdk.cn");
        oks.setText("我是分享文本");
        oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");
        oks.setUrl("http://sharesdk.cn");
        oks.setComment("我是测试评论文本");
        oks.setSite("ShareSDK");
        oks.setSiteUrl("http://sharesdk.cn");
        oks.show(this);
    }
}

-运行效果

Demo首页

这里写图片描述

ShareSDK调用界面

这里写图片描述

点击Sina Weibo分享

这里写图片描述

分享后会弹出Toast提示分享结果,Operation Fail或者Operation Success。分享失败会在控制台打出对应的Log,可根据Log分析分享失败原因。

学习参考:
http://wiki.mob.com/Android_%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97/
http://www.cnblogs.com/smyhvae/p/4585340.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值