ShareSDK是一種社會化分享組件,為iOS、Android、WP8 的APP提供社會化功能,集成了一些常用的類庫和接口,縮短開發者的開發時間,還有社會化統計分析管理后臺。我們可以使用ShareSdk集成分享功能。以下介紹安卓平臺下使用eclipse工具集成ShareSDK的詳細步驟。
首先,我們在Mob官網標題欄找到"SDK下載",選擇打開"ShareSDK For Android",選擇下載最新的離線sdk,如下圖,點擊右上角的"下載官方DEMO源碼"。
下載后解壓,如下圖。打開ShareSDK for Android文件夾,然后點擊運行QuickIntegrater.jar
點擊確定,生成一個名字為ShareSdk文件夾,打開。把下列的文件夾對應復制覆蓋到自己的項目目錄下。
mainifest增加以下權限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<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.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
引入mob application:
<application
android:name="com.mob.application"
.......
如果自己有自定義的application
可以直接extends MobApplication
引入appkey和appsecrect:
通過管理后臺創建應用即可獲取
<meta-data
android:name="Mob-AppKey"
android:value="XXXXXXX" />
<meta-data
android:name="Mob-AppSecret"
android:value="XXXXXXX" />
這時候只需要調用MobSDK.init(context)
如果在代碼上寫不在manifest配置,則
MobSDK.init(context, "你的appkey", "你的appsecrect");
引入activity:
<activity
android:name="com.mob.tools.MobUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" >
<!-- 調用新浪原生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>
</activity>
<activity
android:name="com.eshore.transporttruck.wxapi.WXEntryActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<activity
android:name="cn.sharesdk.tencent.qq.ReceiveActivity"
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="tencentXXXX" />XXXX換成qq的appid
</intent-filter>
</activity>
SDK初始化:
MobSDK.init(mActivity);
分享函數:
private void showShare() {
OnekeyShare oks = new OnekeyShare();
// 關閉sso授權
oks.disableSSOWhenAuthorize();
// 分享時Notification的圖標和文字 2.5.9以后的版本不調用此方法
// oks.setNotification(R.drawable.ic_launcher,getString(R.string.app_name));
// title標題,印象筆記、郵箱、信息、微信、人人網和QQ空間使用
oks.setTitle("標題");
// titleUrl是標題的網絡鏈接,僅在人人網和QQ空間使用
oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本,所有平臺都需要這個字段
oks.setText("我是分享文本");
// imagePath是圖片的本地路徑,Linked-In以外的平臺都支持此參數
oks.setImagePath("/sdcard/test.jpg");// 確保SDcard下面存在此張圖片
// url僅在微信(包括好友和朋友圈)中使用
oks.setUrl("http://sharesdk.cn");
// comment是我對這條分享的評論,僅在人人網和QQ空間使用
oks.setComment("我是測試評論文本");
// site是分享此內容的網站名稱,僅在QQ空間使用
oks.setSite(getString(R.string.app_name));
// siteUrl是分享此內容的網站地址,僅在QQ空間使用
oks.setSiteUrl("http://sharesdk.cn");
oks.setSilent(false);// 直接分享
// 啟動分享GUI
oks.show(this);
}
assets下的ShareSdk.xml文件,需要到各第三方平臺申請key后替換對應的值。
如果需要不顯示某些第三方分享模塊,可以在ShareSDK.xml的模塊中設置Enable為false。
當以上所有步驟完成后,就可以了。
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!