友盟开发者文档
https://developer.umeng.com/docs/66632/detail/66639
分享枚举类型
QQ | SHARE_MEDIA.QQ
Qzone | SHARE_MEDIA.QZONE
微信还有 | SHARE_MEDIA.WEIXIN
微信朋友圈 | SHARE_MEDIA.WEIXIN_CIRCLE
微信收藏 | SHARE_MEDIA.WEIXIN_FAVORITE
腾讯微博 | SHARE_MEDIA.TENCENT
新浪 | SHARE_MEDIA.SINA
人人 | SHARE_MEDIA.RENREN
短信 | SHARE_MEDIA.SMS
电子邮件 | SHARE_MEDIA.EMAIL
豆瓣 | SHARE_MEDIA.DOUBAN
Facebook | SHARE_MEDIA.FACEBOOK
Facebook | Message SHARE_MEDIA.FACEBOOK_MESSAGER
Twitter | SHARE_MEDIA.TWITTER
易信 | SHARE_MEDIA.YIXIN
易信朋友圈 | SHARE_MEDIA.YIXIN_CIRCLE
Instagram | SHARE_MEDIA.INSTAGRAM
Pinterest | SHARE_MEDIA.PINTEREST
印象笔记 | SHARE_MEDIA.EVERNOTE
Pocket | SHARE_MEDIA.POCKET
领英 | SHARE_MEDIA.LINKEDIN
有道云笔记 |SHARE_MEDIA.YNOTE
WhatsApp |SHARE_MEDIA.WHATSAPP
LINE | SHARE_MEDIA.LINE
flickr |SHARE_MEDIA.FLICKR
tumblr | SHARE_MEDIA.TUMBLR
支付宝 | SHARE_MEDIA.ALIPAY
KAKAO | SHARE_MEDIA.KAKAO
DropBox |SHARE_MEDIA.DROPBOX
VKontake | SHARE_MEDIA.VKONTAKTE
钉钉 | SHARE_MEDIA.DINGTALK
谷歌+ | SHARE_MEDIA.GOOGLEPLUS
更多 SHARE_MEDIA.MORE
App分享
必须集成友盟才会生效
1·jar包
umeng-analytics-8.1.0.jar
umeng-share-core-6.9.6.jar
umeng-shareboard-widget-6.9.6.jar
umeng-share-sina-simplify-6.9.6.jar
umeng-sharetool-6.9.6.jar
umeng-common-2.1.0.jar
umeng-share-QQ-simplify-6.9.6.jar
umeng-share-wechat-simplify-6.9.6.jar
2·权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
分享方法
//带面板
private void shareBorad() {
UMImage image = new UMImage(this, "https://ws1.sinaimg.cn/large/0065oQSqly1fw8wzdua6rj30sg0yc7gp.jpg");
image.compressStyle = UMImage.CompressStyle.SCALE;//大小压缩,默认为大小压缩,适合普通很大的图
new ShareAction(MainActivity.this)
.withText("焦凤航的分享")//文本
.withMedia(image)//分享的图片
.setDisplayList(SHARE_MEDIA.SINA, SHARE_MEDIA.QQ, SHARE_MEDIA.WEIXIN)//三方列表
.setCallback(umShareListener)//分享回调
.open();
}
//不带面板
new ShareAction(MainActivity.this)
.setPlatform(SHARE_MEDIA.QQ)//传入平台
.withText("hello")//分享内容
.setCallback(umShareListener)//回调监听器
.share();
//纯文本分享
new ShareAction(ShareActivity.this).withText("hello").withMedia(image).share();
/*图片
在使用ShareAction的时候,调用withMedia可以设置一个UMImage(图片分享),UMImage的构建有如下几种形式*/
UMImage image = new UMImage(ShareActivity.this, "imageurl");//网络图片
UMImage image = new UMImage(ShareActivity.this, file);//本地文件
UMImage image = new UMImage(ShareActivity.this, R.drawable.xxx);//资源文 件
UMImage image = new UMImage(ShareActivity.this, bitmap);//bitmap文件
UMImage image = new UMImage(ShareActivity.this, byte[]);//字节流
分享回调
private UMShareListener umShareListener = new UMShareListener() {
@Override
public void onStart(SHARE_MEDIA share_media) {
Log.d("tag", "onStart: " + share_media);
}
@Override
public void onResult(SHARE_MEDIA share_media) {
Log.d("tag", "onResult: " + share_media);
}
@Override
public void onError(SHARE_MEDIA share_media, Throwable throwable) {
Log.d("tag", "onError: " + throwable.toString());
}
@Override
public void onCancel(SHARE_MEDIA share_media) {
Log.d("tag", "onCancel: " + share_media);
}
};
登录方法
public void login() {
UMShareAPI umShareAPI = UMShareAPI.get(this);
//media,三方平台
//authListener,登录回调
umShareAPI.getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, authListener);
}
登录方法接口回调
UMAuthListener authListener = new UMAuthListener() {
/**
* @desc 授权开始的回调
* @param platform 平台名称
*/
@Override
public void onStart(SHARE_MEDIA platform) {
}
/**
* @desc 授权成功的回调
* @param platform 平台名称
* @param action 行为序号,开发者用不上
* @param data 用户资料返回
*/
@Override
public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
Toast.makeText(MainActivity.this, "成功了", Toast.LENGTH_LONG).show();
}
/**
* @desc 授权失败的回调
* @param platform 平台名称
* @param action 行为序号,开发者用不上
* @param t 错误原因
*/
@Override
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
Toast.makeText(MainActivity.this, "失败:" + t.getMessage(), Toast.LENGTH_LONG).show();
}
/**
* @desc 授权取消的回调
* @param platform 平台名称
* @param action 行为序号,开发者用不上
*/
@Override
public void onCancel(SHARE_MEDIA platform, int action) {
Toast.makeText(MainActivity.this, "取消了", Toast.LENGTH_LONG).show();
}
};
网友评论