友盟分享

你的应用或业务要得到推广,那么分享是必不可少的!友盟的分享个人觉得做得很不错,集成简单,且一直在更新!我使用的版本是6.4.2,你也可以去官方下载最新的SDK版本!http://dev.umeng.com/social/android/sdk-download

下载好后里面有友盟快速集成工具,点击后可以选择自己想集成的平台,它就会生成相应的资源文件在umeng_integratetool_result文件夹下了,直接覆盖到自己的项目对应的目录下,这里我选择了用的最多的三个平台【QQ精简版】【微信精简版】【新浪微博精简版】。


友盟分享_第1张图片
Paste_Image.png

如果你使用了微信,还需要在包名目录下创建wxapi文件夹,新建一个名为WXEntryActivity的activity继承WXCallbackActivity
准备工作做好之后,就开始我们的配置和代码编写!

1.首先加入相应的权限









```

#2.同时加入相关的Activity和appkey
新浪平台:

android:name=".WBShareActivity"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait" >




>这里的WBShareActivity可以在下载的Demo中找到,也可以自己建一个,然后继承WBShareCallBackActivity就可以了

微信平台:

android:name=".wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />

>这里的Activity就是我们开头准备工作说的WXEntryActivity

qq精简版:

android:name="com.umeng.qq.tencent.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" >

        
            
            
            
            
        



> 这里的两个Activity都来之SocialSDK_QQ_Simplify.jar里面,所以不用你去src下面添加!

分享编辑页面(只有新浪微博精简版,豆瓣人人腾讯微博需要):

android:name="com.umeng.socialize.editorpage.ShareActivity"
android:theme="@style/Theme.UMDefault"
android:excludeFromRecents="true"
/>

> 这里的Activity来至umeng_social_shareview.jar,也不用你去添加!

最后记得添加友盟appkey

android:name="UMENG_APPKEY"
android:value="561cae6ae0f55abd990035bf" >

> 一共5堆,加入多少就看你的情况而定啦,最后一堆必加!

# 3.加入签名

> 由于有的平台授权会受到影响,所以还要加入签名文件在你项目下的build.gradle中

######a 将自己的签名文件放入到build.gradle目录下,如官方截图

![Paste_Image.png](http://upload-images.jianshu.io/upload_images/1503465-5e418cca3590fec2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

然后在build.gradle中配置

![签名配置](http://upload-images.jianshu.io/upload_images/1503465-cd2abff785b47636.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

#4.分享( 分享面板分享,直接分享)
- 分享面板分享,用户可以调用我们提供的默认分享面板UI,打开分享面板,然后点击分享面板的对应平台进行分享

- 直接分享,用户可以自己写分享按钮,或者触发事件,然后调用我们的分享方法,进行分享。

######在我们自己的MyApplication中配置各平台参数并初始化

public class MyApplication extends LitePalApplication{
@Override
public void onCreate() {
super.onCreate();

    PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3");
    PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
    PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad", "http://sns.whalecloud.com");
    UMShareAPI.get(this);
}

}


####a.面板分享

new ShareAction(getActivity()).withText("hello")
.setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN,SHARE_MEDIA.WEIXIN_CIRCLE,SHARE_MEDIA.WEIXIN_FAVORITE)
.setCallback(umShareListener).open();

setDisplayList是要加入的平台,umShareListener是分享回调

private UMShareListener umShareListener = new UMShareListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
//分享开始的回调
}
@Override
public void onResult(SHARE_MEDIA platform) {
L.d("plat","platform"+platform);
Toast.makeText(getActivity(), platform + " 分享成功啦", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(SHARE_MEDIA platform, Throwable t) {
Toast.makeText(getActivity(),platform + " 分享失败啦", Toast.LENGTH_SHORT).show();
if(t!=null){
L.d("throw","throw:"+t.getMessage());
}
}
@Override
public void onCancel(SHARE_MEDIA platform) {
Toast.makeText(getActivity(),platform + " 分享取消了", Toast.LENGTH_SHORT).show();
}
};

最后来一张效果图:

![分享截图](http://upload-images.jianshu.io/upload_images/1503465-f810fbf9d838f293.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


是不是很简单,主要是前期配置要多点。而代码只需要这段就搞定!如果需要更多功能,可以访问官方文档 [友盟分享](http://dev.umeng.com/)

你可能感兴趣的:(友盟分享)