android ShareSDK分享,QQ,微信,新浪等分享
来源:互联网 发布:织梦cms gbk转换utf 编辑:程序博客网 时间:2024/04/26 10:50
1.需要去ShareSDK网站下载sdk,http://www.mob.com/downloadDetail/ShareSDK/android
需要哪种分享就选中哪几种
2.打开所下载的包在ShareSDK for Android中找到QuickIntegrater,打开QuickIntegrater,上面的项目名是一会生成的文件夹,下面的包名一定要改为我们自己的包名
3.然后打开生成的文件夹assets,需要放在mian下 就是在mian再建个assets文件夹,然后其他的一一对应复制到里面就行了
4.需要设置的key值需要在assets下的xml文件中更改,分享到什么平台就需要那个平台的key值
5.设置权限
<!-- 添加必要的权限 --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <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" />
设置其他需要的ShareSDK分享的key
<!-- 以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><!-- ShareSDK<strong>3.1.0版本之前</strong>才需要在MobUIShell下面注册此意图,3.1.0版本之后(包含3.1.0)不需要注册此intent--> <intent-filter> <data android:scheme="tencent100371282" /> <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"/>
如果集成QQ分享,或者使用QQ客户端来进行QQ空间的分享,须要在此处添加一个回调activity,对ACTION_VIEW事件的过滤器,其中的scheme是“tencent”前缀再开发者应用的加上appId。如果此Activity和过滤器不设置,则分享结束以后不能得到正确的回调。
<activity android:name="cn.sharesdk.tencent.qq.ReceiveActivity" android:launchMode="singleTask" android:noHistory="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tencent100371282" /> </intent-filter></activity>
如果您的项目集微信或者微信朋友圈,请查看AndroidManifest.xml配置文件里的package路径,需要在package目录下创建wxapi目录再放置WXEntryActivity。 没有此activity在微信分享后回调会检查是否有此activity,没有将会报错。
<activity android:name=".wxapi.WXEntryActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" />
而如果您的项目集易信的两个平台,请查看AndroidManifest.xml配置文件里的package路径需要在package目录下创建yxapi目录在放置回调Activity:
<activity android:name=".yxapi.YXEntryActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" />
而如果您的项目集支付宝的两个平台,请查看AndroidManifest.xml配置文件里的package路径需要在package目录下创建apshare目录在放置回调Activity:
<!-- 支付宝分享回调 --><activity android:name=".apshare.ShareEntryActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true"/>
而如果您的项目集钉钉的平台,请查看AndroidManifest.xml配置文件里的package路径需要在package目录下创建ddshare目录在放置回调Activity:
<!-钉钉分享回调--><activity android:name=".ddshare.DDShareActivity" android:launchMode="singleInstance" android:exported="true"> <intent-filter> <action android:name="android.intent.action.VIEW"></action> <category android:name="android.intent.category.DEFAULT"></category> </intent-filter></activity>
这四个类的路径是需要根据您项目的包名来确定,如果路径错误,您将收不到操作回调,因此ShareSDK也无法给予您操作回调。为了避免出错,请使用相对路径的方式,直接复制上面的代码到您的AndroidManifest.xml中即可。
添加配置以后,就可以调用授权、获取资料、分享等操作了:
private void showShare() { OnekeyShare oks = new OnekeyShare(); //关闭sso授权 oks.disableSSOWhenAuthorize(); // 分享时Notification的图标和文字 2.5.9以后的版本不 调用此方法 //oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name)); // title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用 oks.setTitle(getString(R.string.share)); // titleUrl是标题的网络链接,仅在人人网和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);}
下面贴一段代码:
public class MainActivity extends AppCompatActivity { Button btn_share; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_share = (Button) findViewById(R.id.btn_share); btn_share.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { showShare(); } }); } private void showShare() { OnekeyShare oks = new OnekeyShare(); //关闭sso授权 oks.disableSSOWhenAuthorize(); // 分享时Notification的图标和文字 2.5.9以后的版本不 调用此方法 //oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name)); // title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用 oks.setTitle("getString(R.string.share)"); // titleUrl是标题的网络链接,仅在人人网和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); }}
需要注意的是微信分享必须正版打包才行
- android ShareSDK分享,QQ,微信,新浪等分享
- Unity3d 4.6.8 ShareSDK 分享新浪,微信,qq,经验总结
- shareSDK qq 微信分享
- 用sharesdk第三方等陆或分享到QQ空间,qq好友,微信,朋友圈,新浪微博,腾讯微博等
- ShareSDK分享到微信、微信朋友圈、QQ
- 第三方 ShareSdk QQ、微信分享
- 【Android 分享】ShareSDK微信分享详解
- 【Android 分享】ShareSDK微信分享详解
- 【Android 分享】ShareSDK微信分享详解
- IOS 使用ShareSDK进行QQ,微信,新浪微博分享失败经验
- Android集成友盟社会化分享组件 ---- 分享到新浪、微信、QQ空间、腾讯微博等平台
- Android集成友盟社会化分享组件 ---- 分享到新浪、微信、QQ空间、腾讯微博等平台
- Android系统分享,微信SDK分享,ShareSdk分享
- Android:Umeng(友盟) 微信,QQ,新浪分享 (三)
- sharesdk微信分享
- sharesdk微信分享
- sharesdk微信分享
- ShareSDK社会化分享判断是否安装微信、QQ等客户端
- 工业界|商汤科技新一轮融资额或达5亿 将成AI行业最大融资
- lvm 磁盘管理
- 一文读懂抽象类(Java)
- python设计模式(命令模式)
- 3S基础知识:MapX应用教程—创建地图对象
- android ShareSDK分享,QQ,微信,新浪等分享
- XBOX之Kinect1与2的区别
- MySQL中函数CONCAT及GROUP_CONCAT
- 百度UEditor编译器中添加HTML最快捷的办法
- Poj 2230 Watchcow (欧拉回路)打印欧拉回路路径
- 开源播放器ijkplayer源码结构
- asp IIS配置支持伪静态 ISAPI Rewrite(win2003系统)
- Vue2.4组件间通信新姿势
- 常用类及方法总结 JAVA