• 友盟社会化分享


    写了一个简单的分享demo,创建一个button按钮,点击按钮弹出分享窗体,选择须要分享的平台进行分享这里写图片描写叙述

        1. 获取友盟Appkey
    

    假设你之前已经在友盟注冊了应用,并获取到了Appkey,能够继续使用它.
    假设你尚未在友盟注冊开发人员账号,须要先注冊,注冊之后登录你的账号。点击加入新应用。填写完应用基本信息后,将进入”下载SDK并加入代码”页面,此页面就可以得到Appkey。友盟文档中心http://dev.umeng.com/

        2.  下载并安装SDK
    

    下载SDK最新版
    加入代码和资源引用,我们提供了加入资源文件和jar文件的两种方式,能够依据需求选择
    解压SDK压缩包,将目录中的’main/libs’和’main/res’目录拷贝到你的项目project根目录下(如使用’ADT 17’下面用户须要手动加入’libs’下的jar文件到projectPath中)
    解压SDK压缩包。将目录中的social_sdk_library_project目录导入Eclipse。并在您的project中加入对此项目的引用就可以。
    AndroidManifest配置(须要在各平台创建应用获取对应的appkey)

     <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" />
    
        <!-- renren sso Permission for Unit Test -->
        <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" />
     <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
           <!-- 友盟AppKey。 须要替换成你自己的 -->
            <meta-data
                android:name="UMENG_APPKEY"
                android:value="4eaee02c527015373b000003" >
            </meta-data>
            <!-- 4eaee02c527015373b000003 -->
            <!-- android:value="52a98cf856240b902211203e" > -->
    
    
            <!-- *************************    分享相关的注冊 START **************************** -->
            <!-- 分享内容编辑页 -->
            <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>
                    <action android:name="android.intent.action.VIEW" />
    
                    <category android:name="android.intent.category.DEFAULT" />
                    <category android:name="android.intent.category.BROWSABLE" />
    
                    <data android:scheme="tencent100424468" />
                </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" />
    
            <!-- 易信回调activity -->
            <activity
                android:name=".yxapi.YXEntryActivity"
                android:configChanges="keyboardHidden|orientation|screenSize"
                android:exported="true"
                android:screenOrientation="portrait"
                android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    
            <!-- 人人SSO授权所需的OAuthActivity -->
            <activity
                android:name="com.renn.rennsdk.oauth.OAuthActivity"
                android:configChanges="orientation|navigation|keyboardHidden" />
    
            <!-- facebook相关 -->
            <activity android:name=".activity.FacebookActivity" >
            </activity>
            <activity
                android:name="com.facebook.LoginActivity"
                android:label="@string/app_name"
                android:theme="@android:style/Theme.Translucent.NoTitleBar" />
    
            <!-- *************************    分享相关的注冊 END **************************** -->
             <!-- #######加入UmengAppkey######## -->
            <meta-data
                android:name="UMENG_APPKEY"
                android:value="56f5034a67e58e27f50007b3" >
            </meta-data>
       </application>

    假设你把须要的sdk都导入project了,AndroidManifast.xml也配置好了,接下来就是代码实现部分,当点击button的时候弹出分享窗体

        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);
            btn = (Button) findViewById(R.id.btn_share);
            btn.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    //加入全部的平台
                    addCustomPlatforms();
                }
            });
            // 配置须要分享的相关平台
            configPlatforms();
            // 设置分享的内容
            setShareContent();

    加入全部的平台。把须要分享的平台都加入上并配置好

    /**
         * 加入全部的平台</br>
         */
        private void addCustomPlatforms() {
            // 加入微信平台
            addWXPlatform();
            // 加入QQ平台
            addQQQZonePlatform();
            // 加入印象笔记平台
            addEverNote();
            // 加入facebook平台
            addFacebook();
            // 加入Instagram平台
            addInstagram();
            // 加入来往、来往动态平台
            addLaiWang();
            // 加入LinkedIn平台
            addLinkedIn();
            // 加入Pinterest平台
            addPinterest();
            // 加入Pocket平台
            addPocket();
            // 加入有道云平台
            addYNote();
            // 加入易信平台
            addYXPlatform();
            // 加入短信平台
            addSMS();
            // 加入email平台
            addEmail();
    
            mController.getConfig().setPlatforms(SHARE_MEDIA.WEIXIN,
                    SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE,
                    SHARE_MEDIA.SINA, SHARE_MEDIA.TENCENT, SHARE_MEDIA.DOUBAN,
                    SHARE_MEDIA.RENREN, SHARE_MEDIA.EMAIL, SHARE_MEDIA.EVERNOTE,
                    SHARE_MEDIA.FACEBOOK, SHARE_MEDIA.GOOGLEPLUS,
                    SHARE_MEDIA.INSTAGRAM, SHARE_MEDIA.LAIWANG,
                    SHARE_MEDIA.LAIWANG_DYNAMIC, SHARE_MEDIA.LINKEDIN,
                    SHARE_MEDIA.PINTEREST, SHARE_MEDIA.POCKET, SHARE_MEDIA.SMS,
                    SHARE_MEDIA.TWITTER, SHARE_MEDIA.YIXIN,
                    SHARE_MEDIA.YIXIN_CIRCLE, SHARE_MEDIA.YNOTE);
            mController.openShare(LoginActivity.this, false);
        }

    因为平台比較多。我这里仅仅提供微信和QQ平台的方法。其它的方法看demo

    /**
         * @功能描写叙述 : 加入微信平台分享
         * @return
         */
        private void addWXPlatform() {
            // 注意:在微信授权的时候,必须传递appSecret
            // wx967daebe835fbeac是你在微信开发平台注冊应用的AppID, 这里须要替换成你注冊的AppID
            String appId = "wx967daebe835fbeac";
            String appSecret = "5bb696d9ccd75a38c8a0bfe0675559b3";
            // 加入微信平台
            UMWXHandler wxHandler = new UMWXHandler(LoginActivity.this, appId,
                    appSecret);
            wxHandler.addToSocialSDK();
    
            // 支持微信朋友圈
            UMWXHandler wxCircleHandler = new UMWXHandler(LoginActivity.this,
                    appId, appSecret);
            wxCircleHandler.setToCircle(true);
            wxCircleHandler.addToSocialSDK();
        }
    
        /**
         * @功能描写叙述 : 加入QQ平台支持 QQ分享的内容, 包括四种类型, 即单纯的文字、图片、音乐、视频. 參数说明 : title, summary,
         *       image url中必须至少设置一个, targetUrl必须设置,网页地址必须以"http://"开头 . title :
         *       要分享标题 summary : 要分享的文字概述 image url : 图片地址 [以上三个參数至少填写一个] targetUrl
         *       : 用户点击该分享时跳转到的目标地址 [必填] ( 若不填写则默认设置为友盟主页 )
         * @return
         */
        private void addQQQZonePlatform() {
            String appId = "100424468";
            String appKey = "c7394704798a158208a74ab60104f0ba";
            // 加入QQ支持, 而且设置QQ分享内容的target url
            UMQQSsoHandler qqSsoHandler = new UMQQSsoHandler(LoginActivity.this,
                    appId, appKey);
            qqSsoHandler.setTargetUrl("http://www.umeng.com");
            qqSsoHandler.addToSocialSDK();
    
            // 加入QZone平台
            QZoneSsoHandler qZoneSsoHandler = new QZoneSsoHandler(
                    LoginActivity.this, appId, appKey);
            qZoneSsoHandler.addToSocialSDK();
        }

    配置分享平台的參数

        /**
         * 配置分享平台參数
         */
        private void configPlatforms() {
            // 加入新浪sso授权
            mController.getConfig().setSsoHandler(new SinaSsoHandler());
            // 加入腾讯微博SSO授权
            mController.getConfig().setSsoHandler(new TencentWBSsoHandler());
            // 加入人人网SSO授权
            RenrenSsoHandler renrenSsoHandler = new RenrenSsoHandler(
                    MainActivity.this, "201874",
                    "28401c0964f04a72a14c812d6132fcef",
                    "3bf66e42db1e4fa9829b955cc300b737");
            mController.getConfig().setSsoHandler(renrenSsoHandler);
    
            // 加入QQ、QZone平台
            addQQQZonePlatform();
    
            // 加入微信、微信朋友圈平台
            addWXPlatform();
    
        }

    依据不同的平台设置不同的分享内容

    /**
         * 依据不同的平台设置不同的分享内容
         */
        private void setShareContent() {
    
            // 配置SSO
            mController.getConfig().setSsoHandler(new SinaSsoHandler());
            mController.getConfig().setSsoHandler(new TencentWBSsoHandler());
    
            QZoneSsoHandler qZoneSsoHandler = new QZoneSsoHandler(
                    MainActivity.this, "100424468",
                    "c7394704798a158208a74ab60104f0ba");
            qZoneSsoHandler.addToSocialSDK();
            mController.setShareContent("友盟社会化组件(SDK)让移动应用高速整合社交分享功能");
    
            // APP ID:201874, API
            // * KEY:28401c0964f04a72a14c812d6132fcef, Secret
            // * Key:3bf66e42db1e4fa9829b955cc300b737.
            RenrenSsoHandler renrenSsoHandler = new RenrenSsoHandler(
                    MainActivity.this, "201874",
                    "28401c0964f04a72a14c812d6132fcef",
                    "3bf66e42db1e4fa9829b955cc300b737");
            mController.getConfig().setSsoHandler(renrenSsoHandler);
    
            UMImage localImage = new UMImage(MainActivity.this, R.drawable.ic_launcher);
            UMImage urlImage = new UMImage(MainActivity.this,
                    "http://www.umeng.com/images/pic/social/integrated_3.png");
            // UMImage resImage = new UMImage(MainActivity.this, R.drawable.icon);
    
            // 视频分享
            UMVideo video = new UMVideo(
                    "http://v.youku.com/v_show/id_XNTc0ODM4OTM2.html");
            // vedio.setThumb("http://www.umeng.com/images/pic/home/social/img-1.png");
            video.setTitle("友盟社会化组件视频");
            video.setThumb(urlImage);
    
            UMusic uMusic = new UMusic(
                    "http://music.huoxing.com/upload/20130330/1364651263157_1085.mp3");
            uMusic.setAuthor("umeng");
            uMusic.setTitle("天籁之音");
            uMusic.setThumb(urlImage);
            // uMusic.setThumb("http://www.umeng.com/images/pic/social/chart_1.png");
    
            WeiXinShareContent weixinContent = new WeiXinShareContent();
            weixinContent.setShareContent("来自友盟社会化组件(SDK)让移动应用高速整合社交分享功能,微信");
            weixinContent.setTitle("友盟社会化分享组件-微信");
            weixinContent.setTargetUrl("http://www.umeng.com");
            weixinContent.setShareMedia(urlImage);
            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);
    
            // 设置renren分享内容
            RenrenShareContent renrenShareContent = new RenrenShareContent();
            renrenShareContent.setShareContent("人人分享内容");
            UMImage image = new UMImage(MainActivity.this,
                    BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
            image.setTitle("thumb title");
            image.setThumb("http://www.umeng.com/images/pic/social/integrated_3.png");
            renrenShareContent.setShareImage(image);
            renrenShareContent.setAppWebSite("http://www.umeng.com/social");
            mController.setShareMedia(renrenShareContent);
    
            UMImage qzoneImage = new UMImage(MainActivity.this,
                    "http://www.umeng.com/images/pic/social/integrated_3.png");
            qzoneImage
                    .setTargetUrl("http://www.umeng.com/images/pic/social/integrated_3.png");
    
            // 设置QQ空间分享内容
            QZoneShareContent qzone = new QZoneShareContent();
            qzone.setShareContent("来自友盟社会化组件(SDK)让移动应用高速整合社交分享功能 -- QZone");
            qzone.setTargetUrl("http://www.umeng.com/social");
            qzone.setTitle("QZone title");
            qzone.setShareImage(urlImage);
            mController.setShareMedia(qzone);
    
            video.setThumb(new UMImage(MainActivity.this, BitmapFactory
                    .decodeResource(getResources(), R.drawable.ic_logo)));
    
            QQShareContent qqShareContent = new QQShareContent();
            qqShareContent.setShareContent("来自友盟社会化组件(SDK)让移动应用高速整合社交分享功能 -- QQ");
            qqShareContent.setTitle("hello, title");
            qqShareContent.setShareImage(urlImage);
            // qqShareContent.setShareMusic(uMusic);
            // qqShareContent.setShareVideo(video);
            qqShareContent.setTargetUrl("http://www.umeng.com/social");
            mController.setShareMedia(qqShareContent);
    
            // 视频分享
            UMVideo umVideo = new UMVideo(
                    "http://v.youku.com/v_show/id_XNTc0ODM4OTM2.html");
            umVideo.setThumb("http://www.umeng.com/images/pic/home/social/img-1.png");
            umVideo.setTitle("友盟社会化组件视频");
    
            TencentWbShareContent tencent = new TencentWbShareContent();
            tencent.setShareContent("来自友盟社会化组件(SDK)让移动应用高速整合社交分享功能,腾讯微博");
            // 设置tencent分享内容
            mController.setShareMedia(tencent);
    
            // 设置邮件分享内容。 假设须要分享图片则仅仅支持本地图片
            MailShareContent mail = new MailShareContent(localImage);
            mail.setTitle("share form umeng social sdk");
            mail.setShareContent("来自友盟社会化组件(SDK)让移动应用高速整合社交分享功能,email");
            // 设置tencent分享内容
            mController.setShareMedia(mail);
    
            // 设置短信分享内容
            SmsShareContent sms = new SmsShareContent();
            sms.setShareContent("来自友盟社会化组件(SDK)让移动应用高速整合社交分享功能,短信");
            sms.setShareImage(urlImage);
            mController.setShareMedia(sms);
    
            SinaShareContent sinaContent = new SinaShareContent(urlImage);
            sinaContent.setShareContent("来自友盟社会化组件(SDK)让移动应用高速整合社交分享功能。新浪微博");
            mController.setShareMedia(sinaContent);
    
            TwitterShareContent twitterShareContent = new TwitterShareContent();
            twitterShareContent
                    .setShareContent("来自友盟社会化组件(SDK)让移动应用高速整合社交分享功能。TWITTER");
            twitterShareContent.setShareMedia(localImage);
            mController.setShareMedia(twitterShareContent);
    
            GooglePlusShareContent googlePlusShareContent = new GooglePlusShareContent();
            googlePlusShareContent
                    .setShareContent("来自友盟社会化组件(SDK)让移动应用高速整合社交分享功能,G+");
            googlePlusShareContent.setShareMedia(localImage);
            mController.setShareMedia(googlePlusShareContent);
    
            // 来往分享内容
            LWShareContent lwShareContent = new LWShareContent();
            // lwShareContent.setShareImage(urlImage);
            // lwShareContent.setShareMedia(uMusic);
            lwShareContent.setShareMedia(umVideo);
            lwShareContent.setTitle("友盟社会化分享组件-来往");
            lwShareContent.setMessageFrom("友盟分享组件");
            lwShareContent.setShareContent("来自友盟社会化组件(SDK)让移动应用高速整合社交分享功能,来往");
            mController.setShareMedia(lwShareContent);
    
            // 来往动态分享内容
            LWDynamicShareContent lwDynamicShareContent = new LWDynamicShareContent();
            // lwDynamicShareContent.setShareImage(urlImage);
            // lwDynamicShareContent.setShareMedia(uMusic);
            lwDynamicShareContent.setShareMedia(umVideo);
            lwDynamicShareContent.setTitle("友盟社会化分享组件-来往动态");
            lwDynamicShareContent.setMessageFrom("来自友盟");
            lwDynamicShareContent.setShareContent("来往动态分享測试");
            lwDynamicShareContent.setTargetUrl("http://www.umeng.com");
            mController.setShareMedia(lwDynamicShareContent);
    
        }

    源代码下载

  • 相关阅读:
    failed to retrieve msvc environment from vcvarsall.bat x86,qt Creator the command cmd.exe /E:ON /V:ON
    杂散
    DDS
    matlab复数与实数相互转换
    Qt编写物联网管理平台44告警邮件转发
    Qt编写物联网管理平台43告警短信转发
    Qt编写物联网管理平台45采集数据转发
    Qt编写物联网管理平台46云端数据同步
    Qt编写物联网管理平台39报警联动
    Qt编写物联网管理平台40类型种类
  • 原文地址:https://www.cnblogs.com/slgkaifa/p/7225964.html
Copyright © 2020-2023  润新知