Share SDK分享

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.Toast;

import java.util.HashMap;

import cn.sharesdk.framework.Platform;
import cn.sharesdk.framework.Platform.ShareParams;
import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.sina.weibo.SinaWeibo;
import cn.sharesdk.tencent.qq.QQ;
import cn.sharesdk.wechat.friends.Wechat;
import cn.sharesdk.wechat.moments.WechatMoments;

public class MainActivity extends Activity implements View.OnClickListener,
        PlatformActionListener {

    private Button shareButton;
    ShareDialog shareDialog;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        //1、分享的初始化
        ShareSDK.initSDK(this);
    }

    private void initView() {
        shareButton = (Button) findViewById(R.id.shareButton);
        shareButton.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.shareButton:
                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("微博")) {

                            //2、设置分享内容
                            ShareParams sp = new ShareParams();
                            sp.setText("我是分享文本,啦啦啦~http://uestcbmi.com/"); //分享文本
                            sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul

                            //3、非常重要:获取平台对象
                            Platform sinaWeibo = ShareSDK.getPlatform(SinaWeibo.NAME);
                            sinaWeibo.setPlatformActionListener(MainActivity.this); // 设置分享事件回调
                            // 执行分享
                            sinaWeibo.share(sp);

                        } else if (item.get("ItemText").equals("微信好友")) {
                            Toast.makeText(MainActivity.this, "您点中了" + item.get("ItemText"), Toast.LENGTH_LONG).show();

                            //2、设置分享内容
                            ShareParams sp = new ShareParams();
                            sp.setShareType(Platform.SHARE_WEBPAGE);//非常重要:一定要设置分享属性
                            sp.setTitle("我是分享标题");  //分享标题
                            sp.setText("我是分享文本,啦啦啦~http://uestcbmi.com/");   //分享文本
                            sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul
                            sp.setUrl("http://sharesdk.cn");   //网友点进链接后,可以看到分享的详情

                            //3、非常重要:获取平台对象
                            Platform wechat = ShareSDK.getPlatform(Wechat.NAME);
                            wechat.setPlatformActionListener(MainActivity.this); // 设置分享事件回调
                            // 执行分享
                            wechat.share(sp);

                        } else if (item.get("ItemText").equals("朋友圈")) {
                            //2、设置分享内容
                            ShareParams sp = new ShareParams();
                            sp.setShareType(Platform.SHARE_WEBPAGE); //非常重要:一定要设置分享属性
                            sp.setTitle("我是分享标题");  //分享标题
                            sp.setText("我是分享文本,啦啦啦~http://uestcbmi.com/");   //分享文本
                            sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul
                            sp.setUrl("http://sharesdk.cn");   //网友点进链接后,可以看到分享的详情

                            //3、非常重要:获取平台对象
                            Platform wechatMoments = ShareSDK.getPlatform(WechatMoments.NAME);
                            wechatMoments.setPlatformActionListener(MainActivity.this); // 设置分享事件回调
                            // 执行分享
                            wechatMoments.share(sp);

                        } else if (item.get("ItemText").equals("QQ")) {
                            //2、设置分享内容
                            ShareParams sp = new ShareParams();
                            sp.setTitle("我是分享标题");
                            sp.setText("我是分享文本,啦啦啦~http://uestcbmi.com/");
                            sp.setImageUrl("http://7sby7r.com1.z0.glb.clouddn.com/CYSJ_02.jpg");//网络图片rul
                            sp.setTitleUrl("http://www.baidu.com");  //网友点进链接后,可以看到分享的详情
                            //3、非常重要:获取平台对象
                            Platform qq = ShareSDK.getPlatform(QQ.NAME);
                            qq.setPlatformActionListener(MainActivity.this); // 设置分享事件回调
                            // 执行分享
                            qq.share(sp);*/

    private void shareQQ() {
        // 2、设置分享内容
        ShareParams sp = new ShareParams();
        sp.setTitle(getString(R.string.share));
        sp.setText(getString(R.string.share_text));
        sp.setImageUrl(getString(R.string.share_image_Url));// 网络图片rul
        sp.setTitleUrl(getString(R.string.share_title_url)); // 网友点进链接后,可以看到分享的详情
        // 3、非常重要:获取平台对象
        Platform qq = ShareSDK.getPlatform(QQ.NAME);
        qq.setPlatformActionListener(ActivityAbout.this); // 设置分享事件回调
        // 执行分享
        qq.share(sp);
    }

                        }

                    }
                });

                break;

            default:
                break;
        }

    }

    @Override
    public void onCancel(Platform arg0, int arg1) {//回调的地方是子线程,进行UI操作要用handle处理
        handler.sendEmptyMessage(5);

    }

    @Override
    public void onComplete(Platform arg0, int arg1, HashMap<String, Object> arg2) {//回调的地方是子线程,进行UI操作要用handle处理
        if (arg0.getName().equals(SinaWeibo.NAME)) {// 判断成功的平台是不是新浪微博
            handler.sendEmptyMessage(1);
        } else if (arg0.getName().equals(Wechat.NAME)) {
            handler.sendEmptyMessage(1);
        } else if (arg0.getName().equals(WechatMoments.NAME)) {
            handler.sendEmptyMessage(3);
        } else if (arg0.getName().equals(QQ.NAME)) {
            handler.sendEmptyMessage(4);
        }

    }

    @Override
    public void onError(Platform arg0, int arg1, Throwable arg2) {//回调的地方是子线程,进行UI操作要用handle处理
        arg2.printStackTrace();
        Message msg = new Message();
        msg.what = 6;
        msg.obj = arg2.getMessage();
        handler.sendMessage(msg);
    }

    Handler handler = new Handler() {

        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
                case 1:
                    Toast.makeText(getApplicationContext(), "微博分享成功", Toast.LENGTH_LONG).show();
                    break;

                case 2:
                    Toast.makeText(getApplicationContext(), "微信分享成功", Toast.LENGTH_LONG).show();
                    break;
                case 3:
                    Toast.makeText(getApplicationContext(), "朋友圈分享成功", Toast.LENGTH_LONG).show();
                    break;
                case 4:
                    Toast.makeText(getApplicationContext(), "QQ分享成功", Toast.LENGTH_LONG).show();
                    break;

                case 5:
                    Toast.makeText(getApplicationContext(), "取消分享", Toast.LENGTH_LONG).show();
                    break;
                case 6:
                    Toast.makeText(getApplicationContext(), "分享失败啊" + msg.obj, Toast.LENGTH_LONG).show();
                    break;

                default:
                    break;
            }
        }

    };

}
时间: 2024-11-06 12:34:03

Share SDK分享的相关文章

iOS:友盟SDK分享

友盟SDK分享 基本步骤: 1.注册友盟开发者账号 2.登陆账号,添加新应用,获取AppKey 3.下载并安装SDK 4.解压SDK压缩包,将形如UMSocial_sdk_x.x.x文件拖入工程中 例如:UMSocial_Sdk_4.4 5.项目面板中手动添加系统库SystemConfiguration.framework 注意:       1)添加SDK后需要手动添加系统库SystemConfiguration.framework 2) 若你的工程设置了all_load,需要添加手机QQ S

微信sdk分享,苹果手机分享到qq好友和qq空间没有反应

最近线上程序苹果手机进行微信分享时,分享到qq好友和qq空间,无法调用分享程序,从微信跳转到qq后就没有反应了,但是安卓手机分享就没事? 解决:调用微信sdk分享时,分享的url(link)的参数不能带有中文,带有中文就会分享无效,造成分享到qq好友和qq空间没有半点反应,所以分享的url中参数有中文的最好进行处理一下,不然的话在苹果机器上面会有问题

重新想象 Windows 8.1 Store Apps (81) - 控件增强: 加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图

原文:重新想象 Windows 8.1 Store Apps (81) - 控件增强: 加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图 [源码下载] 作者:webabcd 介绍重新想象 Windows 8.1 Store Apps 之控件增强 WebView 加载本地 html,智能替换 html 中的 url 引用 WebView 通过 Share Contract 分享 WebVi

微信js sdk分享开发摘记java版

绑定域名和引入js的就不说了 废话不说直接上代码 1 public void share(HttpServletRequest request) throws Exception { 2 3 StringBuffer homeUrl = request.getRequestURL(); 4 String queryString =request.getQueryString(); 5 if(StringUtils.isNotBlank(queryString)){ 6 homeUrl.appen

微信sdk分享功能详解

这两天项目需求,需要做分享功能.这块之前是用shareSdk实现的,现在发现有些局限,计划用原生的微信官方提供的sdk来做. 因此,这篇文章主要是做一个整理和总结,供自己备忘和大家参考. 1.申请你的AppID 请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将该应用提交审核,只有审核通过的应用才能进行开发. 2.下载微信终端开发工具包并导入 开发工具包主要包含3部分内容:(其中,只有libammsdk.jar是必须的) - libammsdk.jar(每个第三方应用必须要导入

Android利用微信SDK分享到微信教程,回调分享结果错误解决和注意点

在正式开始之前这里要着啰嗦一下,进来的同学一定要看,在申请应用的时候要填一个签名,这个签名是由应用的签名文件keystore决定的,那么你在填这个签名的时候,一定要把你的应用用正式的keyStore生成apk,安装到手机,然后用微信提供的获取应用签名的apk工具获取你应用的签名,然后这会生成的这个签名才是正确的,千万记得,不要使用dubug的ketStore测试,不然后面虽然可以修改,修改了后要审核,但是审核也是需要时间的,会很麻烦. 还有一点,你在测试微信分享的时候可能会直接在Eclipse好

share js 分享代码

(function(){ var $doc = $(document); var shareHandlers = { 'twitter': function(prop,shareUrl){ var D=550,A=450,C=screen.height,B=screen.width,H=Math.round((B/2)-(D/2)),G=0; if(C>A){G=Math.round((C/2)-(A/2))} window.open(shareUrl,'','left='+H+',top='+

share SDK 集成过程中遇到的问题 新浪微博error:redirect_uri_mismatch的解决方法

暂时 也没有发现这个报错有什么后果 解决方法:到新浪微博注册应用的地方填上回调地址,然后将代码中的回调地址修改成和新浪微博开放平台里一样即可,见下图 完成后,删除测试机上的APP,Clean工程,然后重新编绎即可.

社交化分享SDK

前言 社交化分享,即分享到社交网络. 本文主要记录的是在Unity集成社交化分享SDK,现主流的分享SDK有如下: 1.友盟社交化分享 for unity 2.ShareSDK分享 for unity SDK分享 下面看一下SDK的Demo的分享 左图友盟分享Demo,右图Share SDK分享Demo QQ分享单独大图 比如,在游戏中分享某角色的卡牌信息,整屏大图,发送给QQ好友,如下所示,或应用中截取整个屏幕发送給QQ好友. 但我联系过Share SDK的技术和友盟的技术,均表示目前SDK