前言:分享功能在app上面也是一个常见的功能,在这方面shareSDK的分享还是不错的,本文便讲解下详细的集成步骤。
1 首先进入mob官网:(http://mob.com )进行账号登录(没有账号的可先进行注册再登录)
2 appkey的申请:
首先点击上图的进入后台入口 会进入下面的页面
点击添加应用 创建一个应用(此处我创建了MyDemo1),创建完成后会给你个 appkey appsecret 这两个东西以后要用
3 下载SDK
返回官网 鼠标选中sdk下载 找到sharesdk for android 进行如下操作:
勾选要分享的平台 及集成文档 点击下载:
下载后得到文件夹:
里面有个jar(帮助快速集成) 鼠标双击打开:
注 :这里的项目名称写你创建项目的名字 包名为项目的包名(我的如下图)
填好后点击确定即可发现你下载的sharesdk for android 里面多了个文件夹(jar包帮我们创建的)
打开这个文件夹 有如下文件夹:
4 集成生成的文件 到自己的项目中
4.1
首先打开lib文件夹 选中所有的jar包复制 到studio的libs包下
此时你在用鼠标选中所有的jar包 右键 --add as library
4.2
复制生成的文件夹assets 文件夹 到studio的src–main下
4.3
打开生成的res文件夹
复制这些文件到studio的res下
4.4
打开生成的src文件夹 复制cn ,com文件夹到main–java文件夹下
5 清单文件的配置(打开添加权限):
<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" />
6 activity的注册:
<!-- share-->
<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="255d42f287089"/>
<meta-data android:name="Mob-AppSecret" android:value="5f87d6b1496c452ca58611e7496762b3"/>
<!--微信分享回调 -->
<activity
android:name=".wxapi.WXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait" />
7 secretkey appkey的配置
7.1 找到清单文件的application节点 添加如下一句
ps:如果你有自己的application那么就用代码注册。
7.2 在第6步中你注册activity时有个meta-data
吧appkey appsecret替换为自己的
8 调用分享的函数
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);
}
(我的分享Demo简单的调用如下)
9 测试贴图如下
点击QQ
10 小结:步骤虽然很多但是感觉不是麻烦 仔细按照步骤进行就可以成功。
集成的方法不止一种 详细的细节或其他的方法可以参考官方的文档:
http://wiki.mob.com/sdk-share-android-3-0-0/
ps:可以参考具体项目实战