如何在AndroidStudio中使用Mob ShareSDK分享

很简单,点击Button弹出分享面板,然后分享就ok了
来一张效果图:
在这里插入图片描述
现在我们mob平台提供了40多种分享,界面可以完全自定义,来帮助开发者快速完成社会化分享,下面我们来介绍下ShareSDK的下载及快速集成步骤

第一步:注册ShareSDK应用获取ShareSDK的appkey
首先进入mob的官网:http://mob.com; 如下图所示有注册和登录,首先我们需要注册一个账户,才可以申请应用得到appkey来使用ShareSDK
在这里插入图片描述

在这里插入图片描述
第二步:下载ShareSDK
好的,创建完之后我们现在开始下载ShareSDK,进入下载页面
下载Android版本的

在这里插入图片描述

下载完了之后,解压:

在这里插入图片描述
第三步:利用快速集成工具生成所需要的集成文件
我们进入ShareSDK for Android 目录下,如下图所示:
箭头指向的是一个快速集成工具;
在这里插入图片描述
双击快速集成工具可以打开如下所示的界面

(注意如果双击的打不开可以下载此工具双击修复下)jarfix.exe

在这里插入图片描述
这个界面我们可以看到输入项目名称和包名即可,如果就集成三方登录可不选快速集成。如果需要登录又需要分享就选择集成快速分享,点击确定之后会看到原来的文件夹里会生成一个以项目名称的文件夹

在这里插a入图片描述
在这里插入图片描述
ibs是jar包列表,res是资源文件,src是onekeyshare界面代码,assets是配置初始化第三方那个key的文件

第四步:将生成的文件集成到自己的项目
下面我们以新建的项目为例:
首先我们先将sample下的libs下的jar包全选复制到新建的项目app的libs下
在这里插入图片描述
首先我们先将sample下的libs下的jar包全选复制到新建的项目app的libs下
在这里插入图片描述
如上图所示jar包虽然复制进来但是还没build进入工程
注意:选择jar包然后右键选择 add as library
在这里插入图片描述
其次,将项目名称sample下的assets复制到src->main下
在这里插入图片描述
再有就是sample下的资源res文件夹了,这里有必要说明下直接将res下的所有资源文件夹全选复制到自己项目的src->main->res下,不需要修改文件夹的名称
复制完之后如下图所示:资源文件夹的名称不要修改,直接复制进来就好
在这里插入图片描述
最后将sample下生成的src下的cn的快速集成的代码包复制进来,注意下图的目录
在这里插入图片描述
第五步:配置清单文件
到此为止ShareSDK的集成就完成了,下面还需要配置下Manifest文件;
首先是添加权限:

<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" />

添加ShareSDK必要的activity,并且在此配置ShareSDK的appkey与appsecret

<!-- 以MobApplication作为项目Application -->

<application

       android:name="com.mob.MobApplication">



       <!-- 其它的activity -->



       <!-- ShareSDK的activity -->

<activity

     android:name="com.mob.tools.MobUIShell"

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

     android:configChanges="keyboardHidden|orientation|screenSize"

     android:windowSoftInputMode="stateHidden|adjustResize" >



    <!-- 调用新浪原生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>

<!-- 填写您从Mob开发者后台中得到的Appkey和AppSecret -->

<meta-data android:name="Mob-AppKey" android:value="您的AppKey"/>

<meta-data android:name="Mob-AppSecret" android:value="您的AppSecret"/>

</application>

接下来配置的是微信、易信、支付宝的回调activity的配置(如果不需要的平台可以不配置的)

<!--微信分享回调 -->

 <activity

     android:name=".wxapi.WXEntryActivity"

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

     android:configChanges="keyboardHidden|orientation|screenSize"

     android:exported="true"

     android:screenOrientation="portrait" /> 



<!--易信分享回调 -->

 <activity

    android:name=".yxapi.YXEntryActivity"

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

    android:configChanges="keyboardHidden|orientation|screenSize"

    android:exported="true"

    android:screenOrientation="portrait" />



 <!-- 支付宝分享回调 -->

<activity

    android:name=".apshare.ShareEntryActivity"

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

    android:configChanges="keyboardHidden|orientation|screenSize"

    android:exported="true"/>

3.1.0版本之后(包含3.1.0)才需要注册此Activity)如果集成QQ分享,或者使用QQ客户端来进行QQ空间的分享,须要在此处添加一个回调activity,对ACTION_VIEW事件的过滤器,其中的scheme是“tencent”前缀再开发者应用的加上appId。如果此Activity和过滤器不设置,则分享结束以后不能得到正确的回调。

QQ分享必须配置上面的activity tencent后面的appid改成你自己的QQ的appid即可

第六步:申请配置第三方平台的key
在这里插入图片描述
这里打开后我们可以看到ShareSDK的appkey,前面注册的时候我们已经介绍过,注册完的appkey替换这里默认的appkey(必要)

其次就是第三方的appid或者appkey等了,这些第三方的key需要开发者去对应的第三方平台去申请,我们为用户提供了部分常用平台的申请流程,

可以参考下《各个社交平台申请流程》

OK,到此位置我们可以进入到自己的应用中做分享了哦

注意微信分享 包名和签名 要与你在微信开发平台,注册申请的应用的包名和签名一直,否则不能分享

第七步:配置AppKey和AppSecret有两种方式ShareSDK配置appkey和appsecret的配置,前面配置Manifest文件的时候已经有说明在application中配置节点等;配置AppKey和AppSecret有两种方式
(1)通过AndroidManifest配置
(2)通过代码配置以上方法择一即可,建议使用第一种方式进行配置。第一种:通过AndroidManifest配置:(1)在Application节点下添加以下属性:android:name="com.mob.MobApplication"注意:如果你有自己的Application类,那么也可以让你的Application类继承MobApplication即可。
(2)在Application节点下添加以下子节点: 第二种:通过代码配置:如果选择通过代码配置,则不需要继承MobApplication,只要在使用ShareSDK之前,调用以下代码:// 通过代码注册你的AppKey和AppSecretMobSDK.init(context, “你的AppKey”, “你的AppSecret”);

第八步:调用onekeyshare的界面分享
接下来我们配置onekeyshare的代码,如下所示

private void showShare() {

 OnekeyShare oks = new OnekeyShare();

 //关闭sso授权

 oks.disableSSOWhenAuthorize(); 



 // title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间等使用

 oks.setTitle("标题");

 // titleUrl是标题的网络链接,QQ和QQ空间等使用

 oks.setTitleUrl("http://sharesdk.cn");

 // text是分享文本,所有平台都需要这个字段

 oks.setText("我是分享文本");

 // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数

 //oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片

 // url仅在微信(包括好友和朋友圈)中使用

 oks.setUrl("http://sharesdk.cn");

 // comment是我对这条分享的评论,仅在人人网和QQ空间使用

 oks.setComment("我是测试评论文本");

 // site是分享此内容的网站名称,仅在QQ空间使用

 oks.setSite(getString(R.string.app_name));

 // siteUrl是分享此内容的网站地址,仅在QQ空间使用

 oks.setSiteUrl("http://sharesdk.cn");



// 启动分享GUI

 oks.show(this);

 }

自己写个showShare()方法,里面onekeyshare的对象调用分享参数,调用show方法启动我们默认的界面;
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_16524861/article/details/86711513