ShareSDK集成分享
来源:互联网 发布:苹果mac原装壁纸下载 编辑:程序博客网 时间:2024/05/17 07:40
第一步:
如果您没有账号:请去 http://www.mob.com/ 进入官网注册账号 如果您已经有账号了:登录 ->进入后台->添加应用->添加产品->ShareSDK->马上开始->查看详情:然后您就可以看到自己的 App Key和 App Secret已经申请成功了。来一张截图
第二步:
同样的接入第三方的SDK我们一定是先看他们的文档。http://wiki.mob.com/sdk-share-android-3-0-0/
先去了解下接入流程。当然我这里也会详细说明。下载sdk,如图:
下载好sdk代码解压后:
将Sample里面的对应文件copy到自己新建的项目对应目录下,如下,我的项目目录:
集成好之后我们 需要在项目的配置文件 配置权限和一些activity配置:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.alva.user.alvashare"> <uses-permission android:name="android.permission.INTERNET" /> <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.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_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.CAMERA" /> <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" /> <application android:allowBackup="true" android:name="com.mob.MobApplication" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.mob.tools.MobUIShell" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:windowSoftInputMode="stateHidden|adjustResize"> <intent-filter> <data android:scheme="tencent1106203751" /> <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> <!-- 填写您从Mob开发者后台中得到的Appkey和AppSecret --> <meta-data android:name="Mob-AppKey" android:value="1f4cae7f772d4" /> <meta-data android:name="Mob-AppSecret" android:value="91325ade4ea773f1fcf2ed4eb2a26eed" /> <activity android:name="cn.sharesdk.demo.wxapi.WXEntryActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> </application></manifest>
以上我们都整好了,接下来继续配置我们要申请开通的对应分享
第三、去个平台申请APP Key
去腾讯开放着平台申请,进入官网: http://open.qq.com/
去微信开放平台申请,进入官网: https://open.weixin.qq.com/
登录->管理中心->移动应用->创建移动应用
应用打包签名步骤:大家可以去我的博客下载文档:http://download.csdn.net/detail/likesyour/9899165
签名对比工具也可以在微信平台下载工具 : https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419319167&token=&lang=zh_CN
微信平台比较麻烦,需要审核期,大概2天左右,我们只需要等就好了。
其他平台申请方式,我在这里就不一一讲解了,相信作为程序员,这点大家都会的
第四、把申请的App key 加到我们的代码中。
这里以微信举个例子:打开我们刚刚导入到项目中的assets文件中的ShareSDK.xml打开这个找到:
<Wechat Id="4" SortId="4" AppId="wx9675b5fb51be7bb0" AppSecret="dfe35b500775a235c6b2ddf090d6a671" userName="gh_afb25ac019c9" path="/page/API/pages/share/share" BypassApproval="false" Enable="true" />
直接将我们申请的AppId和AppSecret填进去就好了。特别提示下qq需要在我们的AndroidManifest.xml
: tencent1106203751 里面的账号改成我们申请的就好了
android:name="com.mob.tools.MobUIShell" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:windowSoftInputMode="stateHidden|adjustResize"> <intent-filter> //tencent1106203751 里面的账号改成我们申请的就好了 <data android:scheme="tencent1106203751" / <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>
还有一个需要我们注意的,千万别忘记了
Mob-AppKey 和Mob-AppSecret 也需要我们填写自己在Mob申请的
<!-- 填写您从Mob开发者后台中得到的Appkey和AppSecret --> <meta-data android:name="Mob-AppKey" android:value="1f4cae7f772d4" /> <meta-data android:name="Mob-AppSecret" android:value="91325ade4ea773f1fcf2ed4eb2a26eed" />
完成以上基本前期的工作已经做好了,剩下的我们就需要编写自己代码来实现分享了:
第五、集成代码
先来实现个一键分享:
onClick事件:
public void OnkeyShared(View view){ OnekeyShare oks = new OnekeyShare(); //关闭sso授权 oks.disableSSOWhenAuthorize(); // title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间等使用 oks.setTitle("爱易课");// titleUrl是标题的网络链接,QQ和QQ空间等使用 oks.setTitleUrl("http://www.baidu.com"); // text是分享文本,所有平台都需要这个字段 oks.setText("更多精彩,请下载爱易课APP"); // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数 oks.setImagePath(filePath + "aaaa.png");//确保SDcard下面存在此张图片 // url仅在微信(包括好友和朋友圈)中使用 oks.setUrl("http://www.baidu.com"); // comment是我对这条分享的评论,仅在人人网和QQ空间使用 oks.setComment("更多精彩,请下载爱易课APP"); // site是分享此内容的网站名称,仅在QQ空间使用 oks.setSite(getString(R.string.app_name)); // siteUrl是分享此内容的网站地址,仅在QQ空间使用 oks.setSiteUrl("http://www.baidu.com");// 启动分享GUI oks.show(this); }
分享到微信朋友圈:
分享到好友:
再来一个自定义分享界面实现
private void showShare(String platform) { final OnekeyShare oks = new OnekeyShare(); //指定分享的平台,如果为空,还是会调用九宫格的平台列表界面 if (platform != null) { oks.setPlatform(platform); } //关闭sso授权 oks.disableSSOWhenAuthorize(); // title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用 oks.setTitle("爱易课"); // titleUrl是标题的网络链接,仅在Linked-in,QQ和QQ空间使用 oks.setTitleUrl("http://pmo5cc5b5.hz1.17uhui.com.cn/"); // text是分享文本,所有平台都需要这个字段 oks.setText("更多精彩,请下载爱易课APP"); //分享网络图片,新浪微博分享网络图片需要通过审核后申请高级写入接口,否则请注释掉测试新浪微博 oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");// oks.setImagePath(filePath + "aaaa.png"); // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数 //oks.setImagePath("/sdcard/test.jpg");//确保SDcard下面存在此张图片 // url仅在微信(包括好友和朋友圈)中使用 oks.setUrl("http://pmo5cc5b5.hz1.17uhui.com.cn/"); // comment是我对这条分享的评论,仅在人人网和QQ空间使用 oks.setComment("更多精彩,请下载爱易课APP"); // site是分享此内容的网站名称,仅在QQ空间使用 oks.setSite(getString(R.string.app_name)); // siteUrl是分享此内容的网站地址,仅在QQ空间使用 oks.setSiteUrl("http://pmo5cc5b5.hz1.17uhui.com.cn/"); //启动分享 oks.show(this); }
public void Ayikeshared(View view){ shareDialog = new ShareDialog(this); shareDialog.setCancelButtonOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { shareDialog.dismiss(); } }); shareDialog.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { HashMap<String, Object> item = (HashMap<String, Object>) arg0.getItemAtPosition(arg2); if (item.get("ItemText").equals("QQ")) { Platform plat = ShareSDK.getPlatform(QQ.NAME); showShare(plat.getName()); } else if(item.get("ItemText").equals("QQ空间")){ Platform plat = ShareSDK.getPlatform(QZone.NAME); showShare(plat.getName()); }else if(item.get("ItemText").equals("微信好友")){ Log.e("yangjie","微信好友: " +item.get("ItemText")); Platform plat = ShareSDK.getPlatform(Wechat.NAME); showShare(plat.getName()); }else if(item.get("ItemText").equals("微信朋友圈")){ Log.e("yangjie","微信朋友圈: " +item.get("ItemText")); Platform plat = ShareSDK.getPlatform(WechatMoments.NAME); showShare(plat.getName()); } shareDialog.dismiss(); } }); }
实现界面如下:
代码下载链接
- iOS 分享 sharesdk集成
- ShareSDK集成分享
- android 分享sharesdk集成
- shareSDK社会化分享快速集成
- AndroidStudio集成ShareSDK社会化分享
- IOS集成ShareSDK社会化分享
- ShareSDK分享集成详细过程
- cocos2dx项目如何集成shareSDK分享
- cocos2dx项目如何集成shareSDK分享
- cocos2d-x 集成社交分享平台shareSDK
- cocos2d-x 集成社交分享平台shareSDK
- 通过shareSDK进行社会化分享集成
- cocos2d-x 集成社交分享平台shareSDK
- cocos2d-x 集成社交分享平台shareSDK
- iOS 快速集成ShareSDK实现分享功能
- 05.集成ShareSDK社会化分享组件
- IOS项目集成ShareSDK分享登录功能
- 集成ShareSDK QQ分享的四点体会
- Hibernate学习笔记1,延迟加载的那些事
- SQL server2008 修改密码,添加新用户的操作方法
- HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查
- 人机猜拳终极版
- 预解释,作用域,this的简单练习
- ShareSDK集成分享
- 常见的TCP定时器
- SpringBoot和微信二维码相关的部分
- 关于数据挖掘的文献综述
- 虚拟打印机adobe PDF
- 7/5:异常
- 计数排序
- 获取指定月份的最后一天
- 多分支选择结构