連接:http://dev.umeng.com/social/android/quick-integration#1
0、建立友盟APPKEY
一、下載SDK
二、生成資源和jar包:點擊友盟集成工具.jar
雙擊jar如打不開時:請使用黑窗口 java -jar jar包路徑
三、複製jar包和資源到項目中
umeng_integratetool_result文件夾中全部文件
jar包須要複製到libs中,而且添加依賴
四、在Manifest中添加權限
java
<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" />
五、進行activity標籤配置:
把WXapi複製到main項目下。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}
//新浪,複製到Manif中
<activity
android:name="com.umeng.socialize.media.WBShareCallBackActivity"
android:configChanges="keyboardHidden|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:exported="false"
android:screenOrientation="portrait" >
</activity>android
<activity
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
android:name="com.sina.weibo.sdk.share.WbShareTransActivity">
<intent-filter>
<action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>web
</activity>
//QQ精簡版
api
<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"/>
六、配置友盟appkey網絡
<meta-data android:name="UMENG_APPKEY" android:value="561cae6ae0f55abd990035bf" > </meta-data>
android:name=".App"app
七、建立App類,繼承Application
一、平臺appkey配置
二、對sdk進行初始化
// 新建App類,複製下面代碼ide
public class App extends Application { { PlatformConfig.setWeixin("wx967daebe835fbeac", "5bb696d9ccd75a38c8a0bfe0675559b3"); PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba"); PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad", "http://sns.whalecloud.com"); } //初始化 @Override public void onCreate() { super.onCreate(); UMShareAPI.get(this); } }
八、在須要實現分享或者登錄的地方 添加:
工具
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data); }
九、代碼混淆
//下面複製到proguard文件中ui
-dontshrink -dontoptimize -dontwarn com.google.android.maps.** -dontwarn android.webkit.WebView -dontwarn com.umeng.** -dontwarn com.tencent.weibo.sdk.** -dontwarn com.facebook.** -keep public class javax.** -keep public class android.webkit.** -dontwarn android.support.v4.** -keep enum com.facebook.** -keepattributes Exceptions,InnerClasses,Signature -keepattributes *Annotation* -keepattributes SourceFile,LineNumberTable -keep public interface com.facebook.** -keep public interface com.tencent.** -keep public interface com.umeng.socialize.** -keep public interface com.umeng.socialize.sensor.** -keep public interface com.umeng.scrshot.** -keep public class com.umeng.socialize.* {*;} -keep class com.facebook.** -keep class com.facebook.** { *; } -keep class com.umeng.scrshot.** -keep public class com.tencent.** {*;} -keep class com.umeng.socialize.sensor.** -keep class com.umeng.socialize.handler.** -keep class com.umeng.socialize.handler.* -keep class com.umeng.weixin.handler.** -keep class com.umeng.weixin.handler.* -keep class com.umeng.qq.handler.** -keep class com.umeng.qq.handler.* -keep class UMMoreHandler{*;} -keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;} -keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;} -keep class im.yixin.sdk.api.YXMessage {*;} -keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;} -keep class com.tencent.mm.sdk.** { *; } -keep class com.tencent.mm.opensdk.** { *; } -keep class com.tencent.wxop.** { *; } -keep class com.tencent.mm.sdk.** { *; } -dontwarn twitter4j.** -keep class twitter4j.** { *; } -keep class com.tencent.** {*;} -dontwarn com.tencent.** -keep class com.kakao.** {*;} -dontwarn com.kakao.** -keep public class com.umeng.com.umeng.soexample.R$*{ public static final int *; } -keep public class com.linkedin.android.mobilesdk.R$*{ public static final int *; } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class com.tencent.open.TDialog$* -keep class com.tencent.open.TDialog$* {*;} -keep class com.tencent.open.PKDialog -keep class com.tencent.open.PKDialog {*;} -keep class com.tencent.open.PKDialog$* -keep class com.tencent.open.PKDialog$* {*;} -keep class com.umeng.socialize.impl.ImageImpl {*;} -keep class com.sina.** {*;} -dontwarn com.sina.** -keep class com.alipay.share.sdk.** { *; } -keepnames class * implements android.os.Parcelable { public static final ** CREATOR; } -keep class com.linkedin.** { *; } -keep class com.android.dingtalk.share.ddsharemodule.** { *; } -keepattributes Signature
十、分享
帶面板分享:
this
//網絡圖片 UMImage umImage = new UMImage(getActivity(),list.get(i).getCoverImg()); //本地圖片 UMImage umImage1 = new UMImage(getActivity(),R.mipmap.ic_launcher); //設置圖片屬性 UMImage thumb = new UMImage(getActivity(), R.mipmap.ic_launcher); umImage.setThumb(thumb); umImage.compressStyle = UMImage.CompressStyle.SCALE;//大小壓縮,默認爲大小壓縮,適合普通很大的圖 umImage.compressStyle = UMImage.CompressStyle.QUALITY;//質量壓縮,適合長圖的分享
new ShareAction(MainActivity.this)
.withMedia(umImage)
.setDisplayList(SHARE_MEDIA.SINA,SHARE_MEDIA.QQ,SHARE_MEDIA.WEIXIN)
//有時須要修改
.setCallback(new UMShareListener())
.open();
不帶面板分享:
// UMImage umImage = new UMImage(this,R.mipmap.ic_launcher);
// new ShareAction(MainActivity.this)
// .setPlatform(SHARE_MEDIA.QQ)//傳入平臺
// .withMedia(umImage)
// .withText("hello")//分享內容
// .setCallback(this)//回調監聽器
// .share();
十一、分享不一樣的內容
一、文本
二、圖片
三、連接
四、視頻
五、GIF
六、音樂
12.登錄
UMShareAPI.get(this).getPlatformInfo(this, SHARE_MEDIA.QQ, new UMAuthListener()) ;
各平臺帳號註冊:
一、新浪:
一、打開http://open.weibo.com/,進行登陸
二、選擇微連接-》移動應用-》當即接入
三、輸入應用名稱、選擇應用平臺,點擊建立
四、完善基本信息
五、輸入應用包名和應用簽名
注意:應用已經在手機或模擬器中運行(分享須要先配置debug.keystore)
安裝MD5應用簽名獲取工具
六、點擊高級設置,設置受權設置
七、返回友盟,點擊應用,社會化分享-》設置-》填寫新浪的appkey 和appSecret;
新浪登陸: 一、 UMShareAPI.get(MainActivity.this).getPlatformInfo(MainActivity.this,SHARE_MEDIA.SINA,MainActivity.this);打開第三方登陸 二、在成功的接口回調方法中,獲取用戶信息(經過Map集合) 用戶名稱:name,性別:gender 用戶惟一標示:uid,用戶頭像:iconurl 三、重寫onActivityResult,方法內調用:UMShareAPI.get(this).onActivityResult(requestCode,resultCode,data); 新浪分享 友盟appkey申請流程 一、進入開放平臺,登陸註冊 二、微鏈接-》移動應用-》當即接入-》繼續建立 三、填寫應用名稱,選擇應用平臺,點擊建立 四、填寫包名和簽名、下載地址、應用簡介、應用介紹、標籤,而後保存 五、在Application中的構造代碼塊中,更改新浪的appkey和appSecret 六、在新浪高級信息中,填寫回調地址 七、去友盟後臺,配置新浪的appkey和appSecret