您的位置:首页 > 其它

SharedSdk 分享

2015-11-23 19:53 363 查看
SharedSdk 是第三方分享各大平台的框架,使用起来也比较简单、易用(不好的是,统计不到分享数据,不知道为什么),这里,我只实现啦:微信好友、微信朋友圈、微信收藏、QQ好友、QQ空间和短信的分享,其他平台请到官网查询(官网:http://www.mob.com/#/index)。

实现代码如下:

/**
* 微信分享
*/
private void weixin(int type){
ShareSDK.initSDK(this);
ShareParams wechat = new ShareParams();
wechat.setTitle("在这写标题");
wechat.setText("在这写内容");
//		wechat.setImageUrl(shared_ImgUrl);//添加分享中显示的图片

//在这里添加分享的点击的链接地址
wechat.setUrl("http://www.baidu.com");
wechat.setShareType(Platform.SHARE_WEBPAGE);
Platform weixin = null;
if(type == 0){
weixin = ShareSDK.getPlatform(Wechat.NAME);
}else if(type == 1){
weixin = ShareSDK.getPlatform(WechatMoments.NAME);
}else{
weixin = ShareSDK.getPlatform(WechatFavorite.NAME);
}
//		weixin.setPlatformActionListener(this);
weixin.share(wechat);
}

/**
* qq空间分享
* @param context
* @param shared_ImgUrl
*/
private void qzone(){
ShareSDK.initSDK(this);
ShareParams sp = new ShareParams();
sp.setTitle("在这写标题");
sp.setTitleUrl("http://www.baidu.com"); // 分享的链接地址
sp.setText("在这些内容");
//		sp.setImageUrl(shared_ImgUrl);//添加分享中显示的图片
Platform qzone = ShareSDK.getPlatform (QZone.NAME);
//		qzone. setPlatformActionListener (this); //
qzone.share(sp);
}
/**
* qq分享
* @param context
* @param shared_ImgUrl
*/
private void qq(){
ShareSDK.initSDK(this);
ShareParams qq = new ShareParams();
qq.setTitle("在这写标题");
qq.setTitleUrl("http://www.baidu.com");//
qq.setText("在这写内容");
//		qq.setImageUrl(shared_ImgUrl);//添加分享中显示的图片
Platform qqq = ShareSDK.getPlatform(QQ.NAME);
//		qqq.setPlatformActionListener(this);
qqq.share(qq);
}
//分享到短信
private void shortmessage(){
ShareSDK.initSDK(this);
ShareParams message = new ShareParams();
message.setText("在这写内容");
Platform msg = ShareSDK.getPlatform(ShortMessage.NAME);
msg.share(message);
}


分享不外乎:标题、内容和超链接,这些都可以在SharedParams中setTitle(),setText(),setTitleUrl()进行实现。

setImageUrl()方法是用来进行设置分享时候弹出框中的图片。

当然,真正的实现分享还不止这些。可以分为一些步骤

1:添加各个分享的sdk的jar包



:

2:在manifest.xml中添加如下文件:

<span style="white-space:pre">	</span><activity
android:name="cn.sharesdk.framework.ShareSDKUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" />


当然如果还要实现微信分享,还需要添加

<span style="white-space:pre">	</span><activity
android:name="cn.sharesdk.wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />


并在项目中添加 cn.sharesdk.wxapi.WXEntryActivity类

/** 微信客户端回调activity示例 */
public class WXEntryActivity extends WechatHandlerActivity {

/**
* 处理微信发出的向第三方应用请求app message
* <p>
* 在微信客户端中的聊天页面有“添加工具”,可以将本应用的图标添加到其中
* 此后点击图标,下面的代码会被执行。Demo仅仅只是打开自己而已,但你可
* 做点其他的事情,包括根本不打开任何页面
*/
public void onGetMessageFromWXReq(WXMediaMessage msg) {
Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName());
startActivity(iLaunchMyself);
}

/**
* 处理微信向第三方应用发起的消息
* <p>
* 此处用来接收从微信发送过来的消息,比方说本demo在wechatpage里面分享
* 应用时可以不分享应用文件,而分享一段应用的自定义信息。接受方的微信
* 客户端会通过这个方法,将这个信息发送回接收方手机上的本demo中,当作
* 回调。
* <p>
* 本Demo只是将信息展示出来,但你可做点其他的事情,而不仅仅只是Toast
*/
public void onShowMessageFromWXReq(WXMediaMessage msg) {
if (msg != null && msg.mediaObject != null
&& (msg.mediaObject instanceof WXAppExtendObject)) {
WXAppExtendObject obj = (WXAppExtendObject) msg.mediaObject;
Toast.makeText(this, obj.extInfo, Toast.LENGTH_SHORT).show();
}
}

}


当然,还需要在manifest中添加所需要的权限

<span style="white-space:pre">	</span><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"/>


3:添加需要分享平台的appid和appkey

sharedsdk 把一些分享中东西封装好啦,我们只需要在SharedSdk.xml中对应的添加appid和appkey就ok。并且把SharedSdk.xml放在assets下



通过以上步骤,差不多就可以真正的跑起来,不过,在这里我说一下,在实现过程中的一些注意事项:

1:微信需要签名,需要通过签名工具,可以在这里下载http://download.csdn.net/download/mmjiajia132/9293817。安装到手机上,输入项目包名就可以得到签名

2:微信申请appid,appkey需要审核,QQ不需要就可以直接用

3:QQ好友分享左下角的图标 是在sharedsdk中上传的图片(这个有点坑啊,在QQ互联中设置的不管用)

项目代码:点击进行下载

MMjiajia132持续更新ing
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: