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