第三方登录QQ、分享

1.下载需要的SDK
http://open.qq.com/ :QQ申请appid
umeng_social_shareboard.jar

umeng_shareboard_widget.jar
QQ分享重要的两个包
umeng_social_shareboard.jar

2.用友盟集成工具去生成需要用的第三方软件。

3. 把生成的res包里的布局文件复制到你的工程项目中,( 非常重要

4.注意分享的时候需要系统中的布局或者自己写一个布局,一般都是系统生成的除非项目需求

5.用友盟集成工具去生成需要的代码如下图(ps:生成的时候需要你申请的appid、appsecret、友盟的key ):

6.AndroidManifest.xml生成的代码方在AndroidManifest.xml里面,注意放的时候一定要放在 application里面。

7.权限生成后全部粘贴在 AndroidManifest.xml里面。

8.自己建一个类继承application初始化,把生成的代码粘贴进去,授权的代码也可以放在这里:


登录:
mShare_media = SHARE_MEDIA . QQ ;
mButton .setOnClickListener( new View.OnClickListener () {
@Override
public void onClick( View v) {
UMShareAPI . get ( MainActivity . this ).getPlatformInfo( MainActivity . this ,
mShare_media , new UMAuthListener () {

@Override
public void onStart( SHARE_MEDIA share_media) {

}
//授权成功并返回个人信息
@Override
public void onComplete( SHARE_MEDIA share_media, int i, Map< String ,
String >
map) {
String uid = map.get( "uid" );
String name = map.get( "name" );
String gender = map.get( "gender" );
String iconurl = map.get( "iconurl" );
String yellow_vip_level = map.get( "yellow_vip_level" );
mZuan .setText(yellow_vip_level);
mName .setText(name);
mGender .setText(gender);
mUid .setText(uid);
Glide . with ( MainActivity . this ).load(iconurl).error( R.mipmap
. ic_launcher )
.placeholder( R.mipmap . ic_launcher ).into( mIconurl );
}

@Override
public void onError( SHARE_MEDIA share_media, int i, Throwable
throwable) {

}

@Override
public void onCancel( SHARE_MEDIA share_media, int i) {

}
});
}
});
分享:
mButton1 .setOnClickListener( new View.OnClickListener () {
@Override
public void onClick( View v) {
UMWeb umWeb = new UMWeb(mUrl);//要分享的连接
umWeb.setTitle(mAuthor_name);//分享的描述
umWeb.setDescription(mTitle);//分享的标题
// UMImage image = new UMImage(this, mUrl);//资源文件
new ShareAction(this)
        .withText("hello")
        /*.withMedia(umWeb)*/
        .withMedia(umWeb)//注意:把分享类加到里面
.setDisplayList( SHARE_MEDIA . SINA , SHARE_MEDIA . QQ , SHARE_MEDIA . WEIXIN )
.setCallback( umShareListener ).open();
}

});
//登录回传的方法直接粘贴就行
@Override
protected void onActivityResult( int requestCode, int resultCode, Intent data) {
super .onActivityResult(requestCode, resultCode, data);
UMShareAPI . get ( this ).onActivityResult(requestCode, resultCode, data);
}

//分享回调
private UMShareListener umShareListener = new UMShareListener () {
@Override
public void onStart( SHARE_MEDIA platform) {
// 分享开始的回调
}

@Override
public void onResult( SHARE_MEDIA platform) {
Log . d ( "plat" , "platform" + platform);

Toast . makeText ( MainActivity . this , platform + " 分享成功啦 " , Toast . LENGTH_SHORT ).show();

}

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

@Override
public void onCancel( SHARE_MEDIA platform) {
Toast . makeText ( MainActivity . this , platform + " 分享取消了 " , Toast . LENGTH_SHORT ).show();
}
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值