轉(zhuǎn)載請(qǐng)注明出處:http://www.reibang.com/p/f74f7f010b1d
前言
第三方分享幾乎是每個(gè)APP的必須功能拾弃。有些人說看官方的文檔實(shí)在讓人眼花繚亂,以前自己第一次做這些功能的時(shí)候也會(huì)遇到很多坑摆霉。這里整理了一份比較詳細(xì)的豪椿,主要給新手學(xué)習(xí)。有任何問題歡迎提出來携栋!
1搭盾、獲取ShareSDK的AppKey
(照著流程來,很簡單M裰А)
http://bbs.mob.com/forum.php?mod=viewthread&tid=8212&extra=page%3D1
2鸯隅、下載SDK
下載地址:http://www.mob.com/downloadDetail/ShareSDK/android
下載的時(shí)候一般用默認(rèn)的就足夠了
下載后解壓出來是這樣的
3、準(zhǔn)備資源
點(diǎn)擊第一個(gè)文件夾向挖,進(jìn)去如下列荔,雙擊QuickIntegrater.jar
只需要填寫項(xiàng)目名稱和項(xiàng)目包名即可烁设,其他默認(rèn)。如圖:
點(diǎn)擊確認(rèn)后會(huì)生成如下文件夾,如圖:
4概而、開始集成
1距误,將上面的文件夾依次粘貼到工程相應(yīng)的文件夾即可碍脏,如圖:
2帅霜,在清單文件AndroidManifest.xml添加權(quán)限
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<!-- 藍(lán)牙分享所需的權(quán)限 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
3,在清單文件AndroidManifest.xml添加activity信息
(注意:tencent后面的appid要保持和您配置的QQ的appid一致)
<activity
android:name="com.mob.tools.MobUIShell"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize" >
<intent-filter>
<data android:scheme="tencent100371282" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<!-- 調(diào)用新浪原生SDK蒜危,需要注冊的回調(diào)activity -->
<intent-filter>
<action android:name="com.sina.weibo.sdk.action.ACTION_SDK_REQ_ACTIVITY" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<!--集成line客戶端登錄授權(quán)虱痕,需要添如下格式的過濾器-->
<intent-filter>
<data android:scheme="line.1477692153" />
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
如果您集成了微信,還需要添加下面回調(diào)的activity處理舰褪;
<activity
android:name=".wxapi.WXEntryActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait" />
4,在剛剛拷貝進(jìn)去的ShareSDK中替換mob后臺(tái)申請(qǐng)的Appkey與各個(gè)平臺(tái)申請(qǐng)的key
注意:
mob后臺(tái)申請(qǐng)的Appkey:就是第一部中獲取ShareSDK的AppKey
各個(gè)平臺(tái)申請(qǐng)的key:需要到各個(gè)平臺(tái)申請(qǐng)皆疹,例如需要微信分享,則需要到微信開放平臺(tái)進(jìn)行申請(qǐng)
5占拍,添加分享代碼
在您程序啟動(dòng)的時(shí)候添加初始化代碼(注:不要等調(diào)用ShareSDK功能之前才初始化)
即自己添加一個(gè)類繼承Application略就,在onCreate方法添加下面的代碼,如下:
package com.xinhao.thirdpartysharelogin;
import android.app.Application;
import cn.sharesdk.framework.ShareSDK;
/**
* author Alpha58
* date 2017/03/15
* desc ${Application}
* <p>
* upDateAuthor $Author$
* upDate $Date$
* upDateDesc ${TODO}
*/
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//初始化ShareSDK
ShareSDK.initSDK(this);
}
}
注意: 該類需要在清單文件中注冊晃酒,如圖:
在您的代碼中調(diào)用此方法表牢,即可打開一鍵分享功能進(jìn)行分享
private void showShare() {
OnekeyShare oks = new OnekeyShare();
//關(guān)閉sso授權(quán)
oks.disableSSOWhenAuthorize();
// title標(biāo)題,印象筆記贝次、郵箱崔兴、信息、微信、人人網(wǎng)敲茄、QQ和QQ空間使用
oks.setTitle("標(biāo)題");
// titleUrl是標(biāo)題的網(wǎng)絡(luò)鏈接位谋,僅在Linked-in,QQ和QQ空間使用
oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,所有平臺(tái)都需要這個(gè)字段
oks.setText("我是分享文本");
//分享網(wǎng)絡(luò)圖片堰燎,新浪微博分享網(wǎng)絡(luò)圖片需要通過審核后申請(qǐng)高級(jí)寫入接口掏父,否則請(qǐng)注釋掉測試新浪微博
oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");
// imagePath是圖片的本地路徑,Linked-In以外的平臺(tái)都支持此參數(shù)
//oks.setImagePath("/sdcard/test.jpg");//確保SDcard下面存在此張圖片
// url僅在微信(包括好友和朋友圈)中使用
oks.setUrl("http://sharesdk.cn");
// comment是我對(duì)這條分享的評(píng)論秆剪,僅在人人網(wǎng)和QQ空間使用
oks.setComment("我是測試評(píng)論文本");
// site是分享此內(nèi)容的網(wǎng)站名稱赊淑,僅在QQ空間使用
oks.setSite("ShareSDK");
// siteUrl是分享此內(nèi)容的網(wǎng)站地址,僅在QQ空間使用
oks.setSiteUrl("http://sharesdk.cn");
// 啟動(dòng)分享GUI
oks.show(this);
}
效果如下:
Demo下載地址:https://github.com/wildma/ShareSDKThirdPartyShareLogin
如果對(duì)你有幫助記得點(diǎn)贊仅讽,star支持下哈~