Module的日常
声明效果图账号准备友盟 /微博 /微信 https://open./企鹅 /集成依赖权限QQ配置微信配置初始化使用初始化要分享的内容分享结果回调发起分享声明
本文只记录了分享集成 | 参考文章 /apro_wang/article/details/79923526
效果图
账号准备
友盟 /
微博 /
微信 https://open./
企鹅 /
集成
依赖
//友盟统计compile 'com.umeng.sdk:common:1.5.1'compile 'com.umeng.sdk:analytics:7.5.0'//友盟社会化分享compile 'com.umeng.sdk:share-core:6.9.1'compile 'com.umeng.sdk:share-qq:6.9.1.1'compile 'com.umeng.sdk:share-wechat:6.9.1'compile 'com.umeng.sdk:share-sina:6.9.1'//分享面板compile 'com.umeng.sdk:shareboard-widget:6.9.1'
权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
QQ配置
app下的build.gradle中
defaultConfig {applicationId "xxx"minSdkVersion xxtargetSdkVersion xxversionCode xversionName "x.x"manifestPlaceholders = [qqappid: "123456"]//此处配置自己的申请的qqappid}
微信配置
在包名根目录下创建wxapi文件夹,新建WXEntryActivity继承WXCallbackActivity。
package 包根目录.wxapi;import com.umeng.socialize.weixin.view.WXCallbackActivity;public class WXEntryActivity extends WXCallbackActivity {//此activity不做任何操作}
在AndroidManifest中声明刚新建的WXEntryActivity
<activityandroid:name=".wxapi.WXEntryActivity"android:configChanges="keyboardHidden|orientation|screenSize"android:exported="true"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent.NoTitleBar" />
初始化
在application的onCreate中
public void onCreate() {super.onCreate();//初始化UMConfigure.init(this,"你的应用在友盟上的APPKEY","umeng",UMConfigure.DEVICE_TYPE_PHONE,null);//友盟相关平台配置PlatformConfig.setWeixin("123456", "123456");//微信APPID和AppSecretPlatformConfig.setQQZone("123456", "123456");//QQAPPID和AppSecretPlatformConfig.setSinaWeibo("123456", "123456",null);//微博APPID和AppSecret//开启debugUMConfigure.setLogEnabled(true);}
使用
初始化要分享的内容
//这里以图片举例UMImage image= new UMImage(context, R.mipmap.ic_launcher);//分享图片
分享结果回调
UMShareListener umShareListener = new UMShareListener() {@Overridepublic void onStart(SHARE_MEDIA platform) {Toast.makeText(context, "开始分享", Toast.LENGTH_SHORT).show();}@Overridepublic void onResult(SHARE_MEDIA platform) {Toast.makeText(context, "分享成功", Toast.LENGTH_SHORT).show();}@Overridepublic void onError(SHARE_MEDIA platform, Throwable t) {Toast.makeText(context, "分享失败", Toast.LENGTH_SHORT).show();}@Overridepublic void onCancel(SHARE_MEDIA platform) {Toast.makeText(context, "分享取消", Toast.LENGTH_SHORT).show();}};
发起分享
new ShareAction(context).setDisplayList(SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE, SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE,SHARE_MEDIA.SINA).setShareboardclickCallback(new ShareBoardlistener() {@Overridepublic void onclick(SnsPlatform snsPlatform, SHARE_MEDIA share_media) {new ShareAction(context).setPlatform(share_media).withMedia(image).setCallback(umShareListener).share();}}).open();
更多分享消息类型请查看umeng官方文档:/docs/66632/detail/66639#h3-u5206u4EABu7684u6D88u606Fu7C7Bu578B