umeng第三方登录,分享

首先根据官网配置jar包,以及mainfest文件



在自己项目的application初始化oncreat的方法里面,初始化shareapi

UMShareAPI.get(this);
在初始化以后,配置要分享和第三方登录的账号

//设置分享的信息
//微信 wx12342956d1cab4f9,a5ae111de7d9ea137e88a5e02c07c94d
PlatformConfig.setWeixin("appkey_id", "secret");
//新浪微博
PlatformConfig.setSinaWeibo("1570773528 ", "d7c850c34350c41c444c7a2cd9578a42");
/*最新的版本需要加上这个回调地址,可以在微博开放平台申请的应用获取,必须要有*/
Config.REDIRECT_URL = "http://sns.whalecloud.com/sina2/callback";
//QQ
PlatformConfig.setQQZone("appid", "appkey");

切记微信回调的activity要放在报名下的wxapi的一个包下面


第三方登录的时候,需要用到Shareapi的方法   

UMShareAPI.get(this).getPlatformInfo(LoginActivity.this, SHARE_MEDIA.WEIXIN, umAuthListener);
UmActhListener 就是登录以后返回值接受的的监听
 
 
UMAuthListener umAuthListener = new UMAuthListener() {

        @Override
        public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {		//这里是登录成功以后,返回的第三方用户的信息
//           
		
            openid = data.get("openid");//第三方登录用户的唯一标识,可以用来注册app的账号
            screen_name = data.get("screen_name");//用户的用户名
            image_url = data.get("profile_image_url");//用户的头像
            
        }

        @Override
        public void onError(SHARE_MEDIA platform, int action, Throwable t) {
            Toast.makeText(LoginActivity.this, "登录失败", Toast.LENGTH_SHORT).show();
        }

        @Override
        public void onCancel(SHARE_MEDIA platform, int action) {
            Toast.makeText(LoginActivity.this, "用户取消", Toast.LENGTH_SHORT).show();
        }
    };

 
 
第三方分享的时候,需要用到
Defaultcontent
public class Defaultcontent {
 private Context context;

 public Defaultcontent(Context context) {
  this.context = context;
 }

 public UMShareListener getUmShareListener() {
  return umShareListener;
 }

 public UMAuthListener getUmAuthListener() {
  return umAuthListener;
 }

 public static String url = "https://wsq.umeng.com/";
    public static String text = "分享的内容";
    public static String title = "乌托派分享的标题";
    public static String imageurl = "分享显示的图片";
    public static String videourl = "http://video.sina.com.cn/p/sports/cba/v/2013-10-22/144463050817.html";
    public static String musicurl = "http://music.huoxing.com/upload/20130330/1364651263157_1085.mp3";
 //分享的监听
 private UMShareListener umShareListener = new UMShareListener() {
  @Override
  public void onResult(SHARE_MEDIA platform) {
   com.umeng.socialize.utils.Log.d("plat","platform"+platform);
   if(platform.name().equals("WEIXIN_FAVORITE")){
    Toast.makeText(context,platform + " 收藏成功啦",Toast.LENGTH_SHORT).show();
   }else{
    Toast.makeText(context, platform + " 分享成功啦", Toast.LENGTH_SHORT).show();
   }
  }

  @Override
  public void onError(SHARE_MEDIA platform, Throwable t) {
   Toast.makeText(context,platform + " 分享失败啦", Toast.LENGTH_SHORT).show();
   if(t!=null){
    com.umeng.socialize.utils.Log.d("throw","throw:"+t.getMessage());
   }
  }

  @Override
  public void onCancel(SHARE_MEDIA platform) {
   Toast.makeText(context,platform + " 分享取消了", Toast.LENGTH_SHORT).show();
  }
 };
}
把这个类粘贴到自己的项目当中,当需要用到分享的时候,直接调用方法
new ShareAction(LoginActivity.this).setPlatform(SHARE_MEDIA.WEIXIN_CIRCLE)
        .withTitle(Defaultcontent.title)
        .withText(Defaultcontent.text + "——分享的内容")
        .withMedia(new UMImage(LoginActivity.this, Defaultcontent.imageurl))
        .withTargetUrl("分享出去的H5页面")
        .setCallback(defaultcontent.getUmShareListener())
        .share();
最后,
1.如果第三方登录的时候,登录QQ提示不是安装的应用不是最新的应用,则需要把腾讯应用平台的apk用打包以后得apk重新上传就可以了。
2.微信第三方登录,分享,支付的时候,需要用的签名文件,必须是打包以后生成的签名文件,如果刚开始是用未打包以后得签名,测试的时候,可以实现功能,打包以后无法使用功能,则需要把微信客户端卸载以后重新安装,再把微信开发平台的签名替换成打包以后得签名,微信打包签名可以用专门的一个app可以获得GenSignature的一个apk。







 
 







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值