1. 下載SDK
官網上即可下載 http://www.mob.com/
2. App Key & App Secret獲取
1. 註冊賬號,進入後臺,立即使用ShareSDK後進入
2. 添加新應用,獲取Key&Secret
3. 獲取到的Key&Secret在應用中會用到
3. 應用集成ShareSDK
1. 解壓下載的SDK
2. 使用快速工具進行集成
勾選&確定後生成需要的jar包。
3. 配置工程
1. 新建AndroidStudio工程
2. 複製jar包
QuickIntegrater會自行產生一個文件夾,複製此文件夾中所有文件到您的項目中覆蓋即可。
3. 項目依賴複製的jar包
將複製到工程中的jar包全選->右鍵->Add As Libraries即可,依賴成功後的jar包前會生成一個小三角符號,可以展開查看jar包中的內容。然後就可以在項目中調用jar包裏集成好的類和方法咯。
4. 配置AndroidManifest.xml
-添加權限
直接從官方教程Copy過來的,根據項目需要再自定義添加。
<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" />
-添加Activity信息
直接從官方教程Copy過來,回調處理部分等以後研究好了再更新。
<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>
5. 修改ShareSDK.xml
-ShareSDK.xml中各字段的意義
Id : 自定義字段,整型,用於您項目中對此平臺的識別符
SortId : 此平臺在您分享列表中的位置,整型,數值越大越靠後
ShareByAppClient : 是否使用客戶端進行分享
Enable : 布爾值,標記此平臺是否有效** ShareSDK的每一個平臺都具備SortId、Id、Enable字段,除此之外的字段(如新浪微博的AppKey、AppSecret、RedirectUrl、ShareByAppClient等字段)需要到目標平臺上註冊應用以後得到,請正確填寫這些字段的數據,否則ShareSDK無法完成授權,則後續的其它操作也將無法執行。
-ShareSDK AppKey修改
在Mob平臺添加應用獲取到的AppKey複製到ShareSDK的AppKey屬性中。
-分享平臺信息修改
以新浪微博爲例,將在新浪微博開放平臺http://open.weibo.com/中申請獲得的AppKey和AppSecret以及授權回調頁鏈接複製到ShareSDK中新浪微博相應內容裏,必須輸入正確有效的內容,否則會分享不成功。
4. 添加分享代碼
-初始化
要使用ShareSDK功能需先將其初始化,本人比較喜歡在Activity中的onCreate()方法中進行初始化操作。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ShareSDK.initSDK(this); //初始化ShareSDK
}
-分享方法
官網給出的分享方法,在需要打開分享的部分調用此方法即可。以後可根據項目需要自定義內容。具體的還需深入學習~
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以外的平臺都支持此參數
//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);
}
-DemoActivity源碼貼一下
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.onekeyshare.OnekeyShare;
public class MainActivity extends Activity {
private Button shareBtn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
shareBtn = (Button) findViewById(R.id.share_btn);
shareBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showShare();
}
});
ShareSDK.initSDK(this);
}
private void showShare() {
OnekeyShare oks = new OnekeyShare();
oks.disableSSOWhenAuthorize();
oks.setTitle("標題");
oks.setTitleUrl("http://sharesdk.cn");
oks.setText("我是分享文本");
oks.setImageUrl("http://f1.sharesdk.cn/imgs/2014/02/26/owWpLZo_638x960.jpg");
oks.setUrl("http://sharesdk.cn");
oks.setComment("我是測試評論文本");
oks.setSite("ShareSDK");
oks.setSiteUrl("http://sharesdk.cn");
oks.show(this);
}
}
-運行效果
Demo首頁
ShareSDK調用界面
點擊Sina Weibo分享
分享後會彈出Toast提示分享結果,Operation Fail或者Operation Success。分享失敗會在控制檯打出對應的Log,可根據Log分析分享失敗原因。
學習參考:
http://wiki.mob.com/Android_%E5%BF%AB%E9%80%9F%E9%9B%86%E6%88%90%E6%8C%87%E5%8D%97/
http://www.cnblogs.com/smyhvae/p/4585340.html