android 微信朋友圈微博分享
来源:互联网 发布:社会网络下资产选择 编辑:程序博客网 时间:2024/04/30 05:25
之前写了一个友盟社会化分享的demo,由于添加分享的平台很多,很多人看不过来(刚开始自己也没的挺绕),后来单独把微信微博拿出来写了一个demo,经测试都能正常使用。
demo效果图
- 首先还是获取友盟的Appkey
如果你之前已经在友盟注册了应用,并获取到了Appkey,可以继续使用它.
如果你尚未在友盟注册开发者账号,需要先注册,注册之后登录你的账号,点击添加新应用,填写完应用基本信息后,将进入”下载SDK并添加代码”页面,此页面即可得到Appkey。
- 下载并安装SDK
下载SDK最新版
添加代码和资源引用,我们提供了添加资源文件和jar文件的两种方式,可以根据需求选择
解压SDK压缩包,将文件夹中的’main/libs’和’main/res’文件夹复制到你的项目工程根目录下(如使用’ADT 17’以下用户需要手动添加’libs’下的jar文件到工程Path中)
解压SDK压缩包,将文件夹中的social_sdk_library_project文件夹导入Eclipse,并在您的工程中添加对此项目的引用即可。
- AndroidManifest配置
设置友盟appkey,增加权限
<meta-dataandroid:name="UMENG_APPKEY"android:value="4eaee02c527015373b000003" ></meta-data><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.READ_LOGS" /><uses-permission android:name="android.permission.CALL_PHONE" /><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.SET_DEBUG_APP" /><uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /><uses-permission android:name="android.permission.GET_ACCOUNTS" /><uses-permission android:name="android.permission.USE_CREDENTIALS" /><uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
微信平台配置
<!-- 分享编辑页 --> <activity android:name="com.umeng.socialize.view.ShareActivity" android:configChanges="orientation|keyboard" android:launchMode="singleTask" android:noHistory="true" android:theme="@style/Theme.UMDialog" android:windowSoftInputMode="stateVisible|adjustResize" > </activity> <!-- 微信回调activity --> <activity android:name=".wxapi.WXEntryActivity" android:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" />
具体demo中的代码:
package com.example.test;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import com.umeng.socialize.bean.SHARE_MEDIA;import com.umeng.socialize.controller.UMServiceFactory;import com.umeng.socialize.controller.UMSocialService;import com.umeng.socialize.media.UMImage;import com.umeng.socialize.sso.SinaSsoHandler;import com.umeng.socialize.sso.UMSsoHandler;import com.umeng.socialize.weixin.controller.UMWXHandler;import com.umeng.socialize.weixin.media.CircleShareContent;import com.umeng.socialize.weixin.media.WeiXinShareContent;public class MainActivity extends Activity { private UMSocialService mController = UMServiceFactory .getUMSocialService("com.umeng.share"); private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 配置需要分享的相关平台 configPlatforms(); // 设置分享的内容 setShareContent(); btn = (Button) findViewById(R.id.btn); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 添加所有的平台 addCustomPlatforms(); } }); } /** * 添加所有的平台 */ private void addCustomPlatforms() { // 添加微信平台 addWXPlatform(); mController.getConfig().setPlatforms(SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.SINA); // 打开分享选项页 mController.openShare(MainActivity.this, false); } /** * 配置分享平台参数 */ private void configPlatforms() { // 添加新浪sso授权 mController.getConfig().setSsoHandler(new SinaSsoHandler()); // 添加微信、微信朋友圈平台 addWXPlatform(); } /** * @功能描述 : 添加微信平台分享 * @return */ private void addWXPlatform() { // 注意:在微信授权的时候,必须传递appSecret // wx967daebe835fbeac是你在微信开发平台注册应用的AppID, 这里需要替换成你注册的AppID String appId = "wx26ac7e09a5d17e53"; String appSecret = "0963cfdfd2820501308925f39a6487df"; // 添加微信平台 UMWXHandler wxHandler = new UMWXHandler(MainActivity.this, appId, appSecret); wxHandler.addToSocialSDK(); // 支持微信朋友圈 UMWXHandler wxCircleHandler = new UMWXHandler(MainActivity.this, appId, appSecret); wxCircleHandler.setToCircle(true); wxCircleHandler.addToSocialSDK(); } /** * 根据不同的平台设置不同的分享内容 */ private void setShareContent() { // 配置SSO mController.getConfig().setSsoHandler(new SinaSsoHandler()); UMImage urlImage = new UMImage(MainActivity.this, "http://www.umeng.com/images/pic/social/integrated_3.png"); WeiXinShareContent weixinContent = new WeiXinShareContent(); weixinContent.setShareContent("来自友盟社会化组件(SDK)让移动应用快速整合社交分享功能,微信"); weixinContent.setTitle("友盟社会化分享组件-微信"); weixinContent.setTargetUrl("http://www.umeng.com"); mController.setShareMedia(weixinContent); // 设置朋友圈分享的内容 CircleShareContent circleMedia = new CircleShareContent(); circleMedia.setShareContent("来自友盟社会化组件(SDK)让移动应用快速整合社交分享功能,朋友圈"); circleMedia.setTitle("友盟社会化分享组件-朋友圈"); circleMedia.setShareImage(urlImage); // circleMedia.setShareMedia(uMusic); // circleMedia.setShareMedia(video); circleMedia.setTargetUrl("http://www.umeng.com"); mController.setShareMedia(circleMedia); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); /** 使用SSO授权必须添加如下代码 */ UMSsoHandler ssoHandler = mController.getConfig().getSsoHandler( requestCode); if (ssoHandler != null) { ssoHandler.authorizeCallBack(requestCode, resultCode, data); } }}
demo下载
0 0
- android 微信朋友圈微博分享
- android微信朋友圈分享
- android 微信朋友分享,朋友圈分享
- 微信朋友圈分享
- 微信分享好友,朋友圈
- 微信及朋友圈分享
- 微信分享好友,朋友圈
- iOS 分享微信朋友圈
- iOS 微信分享 朋友圈
- Umeng微信、朋友圈分享
- Umeng微信、朋友圈分享
- iOS 微信分享 朋友圈
- 微信分享到朋友圈
- 微信和微信朋友圈分享
- 微信分享代码,朋友圈分享代码
- 【Android开发日记】微信API 分享到朋友圈
- Android微信朋友、朋友圈分享(一)
- Android微信朋友、朋友圈分享(二)
- PHP面试(二)
- Spark定制班第4课:Spark Streaming的Exactly-One的事务处理和不重复输出彻底掌握
- POJ 2251 Dungeon Master(三维简单广搜)
- 用STL 中的vector创建二维数组
- Spark集群搭建与测试
- android 微信朋友圈微博分享
- 源文件与模块生成时的文件不同,产生的原因
- mysql 参数化查询
- 数据结构——队列
- 与消息存档,消息标记,聊天状态通知相关的xmpp协议
- Linux设备号
- js/jquery判断浏览器的方法小结
- Android新特性(66期第十一天)
- 使用tcpdump工具抓包cmd命令详解