现在随着科技的发达,人们交友的方式也越来越广泛,用到的app也越来越多,那么每当我们发现了好玩的好吃的好看的文章之类的,想分享到朋友圈.QQ空间.微博等如何做呢?由于这个需求越来越被需要,所以ShareSDK,友盟分享啊之类的分享的第三方出现了,省了开发者的开发时间,只需要集成第三方的库之类的就可以直接使用,简单又方便。
好了,废话说完了,那么具体该怎么操作呢?这里介绍使用ShareSDK实现分享功能
1.首先去ShareSDK的官网:http://www.mob.com/#/ 下载对应的SDK,下载后解压会发现有两个文件夹:【1】ShareSDK for Android;【2】ShareSDK for Android Services。
ShareSDK for Android目录中的“Libs”包含了“MainLibs”文件夹和“OnekeyShare”文件夹,这两个是我们分享所需的;ShareSDK for Android Services包含了发布的插件服务,比如评论,点赞等,而我们不需要,因为我们只进行分享功能。
2.在官方网站注册获取ShareSDK的appkey。
3.在你需要分享的平台注册获取key(比如微信平台,腾讯平台,新浪微博)
4.配置项目:
a.在需要的project中新建2个Library module : ShareSDK和OneKeyShare分别对应“MainLibs”文件夹(核心库)和“OnekeyShare”文件夹(快捷分享库);
b.删掉2个module中src/main目录里面的所有文件(包括删掉java、res、AndroidManifest.xml)
c.复制第三方库的AndroidMainfest.xml、res、src文件(夹)到对应的新建的module库目录的src/main目录中(记得将”MainLibs“下libs文件夹中的所以jar包复制到它对应的module(ShareSDK )的libs中)
d.app这个module依赖OneKeyShare;OneKeyShare依赖ShareSDK
5.在project的本module下新建一个assets文件夹,非新建的module(一般是“app”),然后将ShareSDK for Android / Res目录下的ShareSDK.xml文件复制到新建的assets文件夹下
6.配置分享平台:
<ShareSDK
AppKey = "sharesdk应用的appkey"/>
<SinaWeibo
Id="1")
SortId="1"
AppKey="key"
AppKey="appkey" <span style="font-family: Arial, Helvetica, sans-serif;"></span>
RedirectUrl="http://www.sharesdk.cn"
ShareByAppClient="true"
Enable="true" />
代码中是分享至新浪微博,其他平台道理同上。
7.配置权限:
<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"/>
8.在application节点下注册下面的Activity,将下面绿色的改为在腾讯开放平台申请到的AppId
<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="tencent<span style="color:#33cc00;">1104646053</span>" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
9.在首启动的Activity的onCreate方法中初始化ShareSDK: 即ShareSDK.initSDK( this);在结束的Activity的onDestroy方法中注销:即ShareSDK.stopSDK (this);
10.使用代码进行分享:
OnekeyShare oks = new OnekeyShare();
oks.disableSSOWhenAuthorize();
oks.setTitle("我是分享title");
oks.setTitleUrl("http://xxxxxxxxxxxxxxxxxxxxxxx");
oks.setText("永不止步");
oks.setUrl("http://xxxxxxxxxxxxxxxxxxxx");
oks.setComment("评论");
oks.setSiteUrl("http://xxxxxxxxxxxxxxxxxxxxxxx");
// 启动分享
oks.show(this);
oks.setCallback(new PlatformActionListener() {
@Override
public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
IApplication.showToast("成功" + platform.getName());
}
@Override
public void onError(Platform platform, int i, Throwable throwable) {
IApplication.showToast("错误" + platform.getName());
}
@Override
public void onCancel(Platform platform, int i) {
IApplication.showToast("取消" + platform.getName());
}
});
分享的整个流程就这样了,还是很简单的