轉載請注明出處:http://www.itdecent.cn/p/f74f7f010b1d
前言
第三方分享幾乎是每個APP的必須功能。有些人說看官方的文檔實在讓人眼花繚亂,以前自己第一次做這些功能的時候也會遇到很多坑。這里整理了一份比較詳細的,主要給新手學習。有任何問題歡迎提出來!
1、獲取ShareSDK的AppKey
(照著流程來,很簡單?。?br> http://bbs.mob.com/forum.php?mod=viewthread&tid=8212&extra=page%3D1
2、下載SDK
下載地址:http://www.mob.com/downloadDetail/ShareSDK/android
下載的時候一般用默認的就足夠了
下載后解壓出來是這樣的
3、準備資源
點擊第一個文件夾,進去如下,雙擊QuickIntegrater.jar
只需要填寫項目名稱和項目包名即可,其他默認。如圖:
點擊確認后會生成如下文件夾,如圖:
4、開始集成
1,將上面的文件夾依次粘貼到工程相應的文件夾即可,如圖:
2,在清單文件AndroidManifest.xml添加權限
<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"/>
<!-- 藍牙分享所需的權限 -->
<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>
<!-- 調用新浪原生SDK,需要注冊的回調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客戶端登錄授權,需要添如下格式的過濾器-->
<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>
如果您集成了微信,還需要添加下面回調的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,在剛剛拷貝進去的ShareSDK中替換mob后臺申請的Appkey與各個平臺申請的key
注意:
mob后臺申請的Appkey:就是第一部中獲取ShareSDK的AppKey
各個平臺申請的key:需要到各個平臺申請,例如需要微信分享,則需要到微信開放平臺進行申請
5,添加分享代碼
在您程序啟動的時候添加初始化代碼(注:不要等調用ShareSDK功能之前才初始化)
即自己添加一個類繼承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);
}
}
注意: 該類需要在清單文件中注冊,如圖:
在您的代碼中調用此方法,即可打開一鍵分享功能進行分享
private void showShare() {
OnekeyShare oks = new OnekeyShare();
//關閉sso授權
oks.disableSSOWhenAuthorize();
// title標題,印象筆記、郵箱、信息、微信、人人網、QQ和QQ空間使用
oks.setTitle("標題");
// titleUrl是標題的網絡鏈接,僅在Linked-in,QQ和QQ空間使用
oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,所有平臺都需要這個字段
oks.setText("我是分享文本");
//分享網絡圖片,新浪微博分享網絡圖片需要通過審核后申請高級寫入接口,否則請注釋掉測試新浪微博
oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");
// imagePath是圖片的本地路徑,Linked-In以外的平臺都支持此參數(shù)
//oks.setImagePath("/sdcard/test.jpg");//確保SDcard下面存在此張圖片
// url僅在微信(包括好友和朋友圈)中使用
oks.setUrl("http://sharesdk.cn");
// comment是我對這條分享的評論,僅在人人網和QQ空間使用
oks.setComment("我是測試評論文本");
// site是分享此內容的網站名稱,僅在QQ空間使用
oks.setSite("ShareSDK");
// siteUrl是分享此內容的網站地址,僅在QQ空間使用
oks.setSiteUrl("http://sharesdk.cn");
// 啟動分享GUI
oks.show(this);
}
效果如下:
Demo下載地址:https://github.com/wildma/ShareSDKThirdPartyShareLogin
如果對你有幫助記得點贊,star支持下哈~