你的應(yīng)用或業(yè)務(wù)要得到推廣,那么分享是必不可少的!友盟的分享個(gè)人覺(jué)得做得很不錯(cuò),集成簡(jiǎn)單,且一直在更新!我使用的版本是6.4.2,你也可以去官方下載最新的SDK版本!http://dev.umeng.com/social/android/sdk-download
下載好后里面有友盟快速集成工具,點(diǎn)擊后可以選擇自己想集成的平臺(tái),它就會(huì)生成相應(yīng)的資源文件在umeng_integratetool_result文件夾下了,直接覆蓋到自己的項(xiàng)目對(duì)應(yīng)的目錄下,這里我選擇了用的最多的三個(gè)平臺(tái)【QQ精簡(jiǎn)版】【微信精簡(jiǎn)版】【新浪微博精簡(jiǎn)版】。

如果你使用了微信,還需要在包名目錄下創(chuàng)建wxapi文件夾,新建一個(gè)名為WXEntryActivity的activity繼承WXCallbackActivity
準(zhǔn)備工作做好之后,就開(kāi)始我們的配置和代碼編寫(xiě)!
1.首先加入相應(yīng)的權(quán)限
<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" />```
#2.同時(shí)加入相關(guān)的Activity和appkey
新浪平臺(tái):
<activity
android:name=".WBShareActivity"
android:configChanges="keyboardHidden|orientation"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
>這里的WBShareActivity可以在下載的Demo中找到,也可以自己建一個(gè),然后繼承WBShareCallBackActivity就可以了
微信平臺(tái):
<activity
android:name=".wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
>這里的Activity就是我們開(kāi)頭準(zhǔn)備工作說(shuō)的WXEntryActivity
qq精簡(jiǎn)版:
<activity
android:name="com.umeng.qq.tencent.AuthActivity"
android:launchMode="singleTask"
android:noHistory="true" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="tencent100424468" />
</intent-filter>
</activity>
<activity
android:name="com.umeng.qq.tencent.AssistActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="orientation|keyboardHidden|screenSize"/>
> 這里的兩個(gè)Activity都來(lái)之SocialSDK_QQ_Simplify.jar里面,所以不用你去src下面添加!
分享編輯頁(yè)面(只有新浪微博精簡(jiǎn)版,豆瓣人人騰訊微博需要):
<activity
android:name="com.umeng.socialize.editorpage.ShareActivity"
android:theme="@style/Theme.UMDefault"
android:excludeFromRecents="true"
/>
> 這里的Activity來(lái)至umeng_social_shareview.jar,也不用你去添加!
最后記得添加友盟appkey
<meta-data
android:name="UMENG_APPKEY"
android:value="561cae6ae0f55abd990035bf" >
</meta-data>
> 一共5堆,加入多少就看你的情況而定啦,最后一堆必加!
# 3.加入簽名
> 由于有的平臺(tái)授權(quán)會(huì)受到影響,所以還要加入簽名文件在你項(xiàng)目下的build.gradle中
######a 將自己的簽名文件放入到build.gradle目錄下,如官方截圖

然后在build.gradle中配置

#4.分享( 分享面板分享,直接分享)
- 分享面板分享,用戶可以調(diào)用我們提供的默認(rèn)分享面板UI,打開(kāi)分享面板,然后點(diǎn)擊分享面板的對(duì)應(yīng)平臺(tái)進(jìn)行分享
- 直接分享,用戶可以自己寫(xiě)分享按鈕,或者觸發(fā)事件,然后調(diào)用我們的分享方法,進(jìn)行分享。
######在我們自己的MyApplication中配置各平臺(tái)參數(shù)并初始化
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是要加入的平臺(tái),umShareListener是分享回調(diào)
private UMShareListener umShareListener = new UMShareListener() {
@Override
public void onStart(SHARE_MEDIA platform) {
//分享開(kāi)始的回調(diào)
}
@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();
}
};
最后來(lái)一張效果圖:

是不是很簡(jiǎn)單,主要是前期配置要多點(diǎn)。而代碼只需要這段就搞定!如果需要更多功能,可以訪問(wèn)官方文檔 [友盟分享](http://dev.umeng.com/)