1.下载需要的SDK
http://mobile.umeng.com/apps/new
:友盟key申请
http://open.qq.com/
:QQ申请appid
QQ分享重要的两个包
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();
}
};