友盟分享集成

20 篇文章 0 订阅
2 篇文章 0 订阅


1、注册友盟帐号

2、创建项目

3、下载SDK

4、将main文件夹下的资源全部粘贴到项目中



一、CustomShareBoard.java分享选项对话框及其事件

public class CustomShareBoard extends PopupWindow implements OnClickListener {

private UMSocialService mController = UMServiceFactory.getUMSocialService(Constants.DESCRIPTOR);

private Activity mActivity;

public CustomShareBoard(Activity activity) {

super(activity);

this.mActivity = activity;

initView(activity);

}

@SuppressWarnings("deprecation")

private void initView(Context context) {

View rootView = LayoutInflater.from(context).inflate(R.layout.custom_board, null);

rootView.findViewById(R.id.wechat).setOnClickListener(this);

rootView.findViewById(R.id.wechat_circle).setOnClickListener(this);

rootView.findViewById(R.id.qq).setOnClickListener(this);

rootView.findViewById(R.id.qzone).setOnClickListener(this);

setContentView(rootView);

setWidth(LayoutParams.MATCH_PARENT);

setHeight(LayoutParams.WRAP_CONTENT);

setFocusable(true);

setBackgroundDrawable(new BitmapDrawable());

setTouchable(true);

}

@Override

public void onClick(View v) {

int id = v.getId();

switch (id) {

case R.id.wechat:

performShare(SHARE_MEDIA.WEIXIN);

break;

case R.id.wechat_circle:

performShare(SHARE_MEDIA.WEIXIN_CIRCLE);

break;

case R.id.qq:

performShare(SHARE_MEDIA.QQ);

break;

case R.id.qzone:

performShare(SHARE_MEDIA.QZONE);

break;

default:

break;

}

}

private void performShare(SHARE_MEDIA platform) {

mController.postShare(mActivity, platform, new SnsPostListener() {


@Override

public void onStart() {}

@Override

public void onComplete(SHARE_MEDIA platform, int eCode, SocializeEntity entity) {

String showText = platform.toString();

if (eCode == StatusCode.ST_CODE_SUCCESSED) {

showText += "平台分享成功";

} else {

showText += "平台分享失败";

}

Toast.makeText(mActivity, showText, Toast.LENGTH_SHORT).show();

dismiss();

}

});

}

}


二、定义应用相关常量 Contants.java

public class Constants {

       public static final String DESCRIPTOR = "com.umeng.share";

       private static final String TIPS = "请移步官方网站 “;

       private static final String END_TIPS = ", 查看相关说明.";

       public static final String TENCENT_OPEN_URL = TIPS + "http://wiki.connect.qq.com/android_sdk使用说明" + END_TIPS;

       public static final String PERMISSION_URL = TIPS + "http://wiki.connect.qq.com/openapi权限申请" + END_TIPS;


public static final String SOCIAL_LINK = "http://www.umeng.com/social";

public static final String SOCIAL_TITLE = "友盟社会化组件帮助应用快速整合分享功能";

public static final String SOCIAL_IMAGE = "http://www.umeng.com/images/pic/banner_module_social.png";

           public static final String SOCIAL_CONTENT = "友盟社会化组件(SDK)让移动应用快速整合社交分享功能,我们简化了社交平台的接入,为开发者提供坚实的基础服务:(一)支持各大主流社交平台,"+ "(二)支持图片、文字、gif动图、音频、视频;@好友,关注官方微博等功能" + "(三)提供详尽的后台用户社交行为分析。http://www.umeng.com/social";

}


三、微信回调.wxapi.WXEntryActivity.java

public class WXEntryActivity extends WXCallbackActivity {}



四、ShareFragment.java 设置分享平台和所分享的资源

public final UMSocialService mController = UMServiceFactory

.getUMSocialService(com.loda.blueantique.share.bean.Constants.DESCRIPTOR);

// 配置需要分享的相关平台

public void configPlatforms() {

/**

* 配置分享平台参数</br>

*/

// 添加新浪SSO授权

mController.getConfig().setSsoHandler(new com.umeng.socialize.sso.SinaSsoHandler());

mController.getConfig().closeToast();

           // 添加QQ、QZone平台

           addQQQZonePlatform();

           // 添加微信、微信朋友圈平台

           addWXPlatform();

}

/**

 * @功能描述 : 添加QQ平台支持 QQ分享的内容, 包含四种类型, 即单纯的文字、图片、音乐、视频. 参数说明 : title, summary,

*      image url中必须至少设置一个, targetUrl必须设置,网页地址必须以"http://"开头 . title :

 *       要分享标题 summary : 要分享的文字概述 image url : 图片地址 [以上三个参数至少填写一个] targetUrl

 *       : 用户点击该分享时跳转到的目标地址 [必填] ( 若不填写则默认设置为友盟主页 )

 * @return

*/

private void addQQQZonePlatform() {

             String appId = "1104746222";

  String appKey = "yoLC1aqLsReRuuLa";

// 添加QQ支持, 并且设置QQ分享内容的target url

UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler(AppContext.getContext(), appId, appKey);

qqSsoHandler.setTargetUrl("http://www.umeng.com/social");

           qqSsoHandler.addToSocialSDK();

           // 添加QZone平台

QZoneSsoHandler qZoneSsoHandler = new QZoneSsoHandler(AppContext.getContext(), appId, appKey);

 qZoneSsoHandler.addToSocialSDK();

}


/**

* @功能描述 : 添加微信平台分享

* @return

*/

private void addWXPlatform() {

// 注意:在微信授权的时候,必须传递appSecret

// wx967daebe835fbeac是你在微信开发平台注册应用的AppID, 这里需要替换成你注册的AppID

String appId = "wx7696178b7765d8ssd";// "wx967daebe835fssssa";

String appSecret = "4969b2cab9b2541762f733f489fba162";// "5bb696d9ccd75a38c8a0bfe0675559b3";

// 添加微信平台

UMWXHandler wxHandler = new UMWXHandler(AppContext.getContext(), appId, appSecret);

wxHandler.addToSocialSDK();

          // 支持微信朋友圈

UMWXHandler wxCircleHandler = new UMWXHandler(AppContext.getContext(), appId, appSecret);

wxCircleHandler.setToCircle(true);

wxCircleHandler.addToSocialSDK();

}


五、AndroidManifest.xml 配置注册文件 

(1)、权限设置

 <!-- ###################声明SDK使用的相关权限###################### -->

    <!-- 检测网络状态 —>

<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/>

  <!-- 获取mac地址作为用户的备用唯一标识 -->

 <uses-permissionandroid:name="android.permission.ACCESS_WIFI_STATE"/>

    <!-- 获取用户手机的IMEI,用来唯一的标识用户 -->

  <uses-permissionandroid:name="android.permission.READ_PHONE_STATE"/>

    <!-- 缓存资源优先存入SDcard -->

    <uses-permissionandroid:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <!-- 允许应用程序联网,以便向我们的服务器端发送数据 -->

    <uses-permissionandroid:name="android.permission.INTERNET"/>

    <!-- QQ、QQ空间所需权限 -->

    <uses-permissionandroid:name="android.permission.GET_TASKS"/>


(2)、友盟注册

 <!-- 友盟AppKey, 需要替换成你自己的 -->

        <meta-data

            android:name="UMENG_APPKEY"

            android:value="4eaea02c527015373b0003423">

        </meta-data>



(3)、添加各自的分享页

<!-- 4eaee02c527015373b000022 -->

        <!-- android:value="52a98cf856240b902211203e" > -->

        <!-- 微博分享内容编辑页 -->

        <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>

        <!-- 腾讯SSO授权的Activity注册 -->

        <activity

            android:name="com.tencent.tauth.AuthActivity"

            android:launchMode="singleTask"

            android:noHistory="true">

            <intent-filter>

                <actionandroid:name="android.intent.action.VIEW"/>

<categoryandroid:name="android.intent.category.DEFAULT"/>

 <categoryandroid:name="android.intent.category.BROWSABLE"/>

<dataandroid:scheme="tencent1004234223"/>

            </intent-filter>

        </activity>

       <activity

            android:name="com.tencent.connect.common.AssistActivity"

            android:screenOrientation="portrait"

            android:theme=“@android:style/Theme.Translucent.NoTitleBar"

/>

        <!-- 微信回调activity -->

        <activity

            android:name=".wxapi.WXEntryActivity"

            android:configChanges="keyboardHidden|orientation|screenSize"

            android:exported="true"

            android:screenOrientation="portrait"

            android:theme="@android:style/Theme.Translucent.NoTitleBar"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值