android之ShareSDK實現分享功能
現在隨著科技的發達,人們交友的方式也越來越廣泛,用到的app也越來越多,那麼每當我們發現了好玩的好吃的好看的文章之類的,想分享到朋友圈.QQ空間.微博等如何做呢?由於這個需求越來越被需要,所以ShareSDK,友盟分享啊之類的分享的第三方出現了,省了開發者的開發時間,只需要整合第三方的庫之類的就可以直接使用,簡單又方便。
好了,廢話說完了,那麼具體該怎麼操作呢?這裡介紹使用ShareSDK實現分享功能
1.首先去ShareSDK的官網:http://www.mob.com/#/ 下載對應的SDK,下載後解壓會發現有兩個資料夾:【1】ShareSDK for Android;【2】ShareSDK for Android Services。
ShareSDK for Android目錄中的“Libs”包含了“MainLibs”資料夾和“OnekeyShare”資料夾,這兩個是我們分享所需的;ShareSDK for Android Services包含了釋出的外掛服務,比如評論,點贊等,而我們不需要,因為我們只進行分享功能。
2.在官方網站註冊獲取ShareSDK的appkey。
3.在你需要分享的平臺註冊獲取key(比如微信平臺,騰訊平臺,新浪微博)
4.配置專案:
a.在需要的project中新建2個Library module : ShareSDK和OneKeyShare分別對應“MainLibs”資料夾(核心庫)和“OnekeyShare”資料夾(快捷分享庫);
b.
c.複製第三方庫的AndroidMainfest.xml、res、src檔案(夾)到對應的新建的module庫目錄的src/main目錄中(記得將”MainLibs“下libs資料夾中的所以jar包複製到它對應的module(ShareSDK )的libs中)
d.app這個module依賴OneKeyShare;OneKeyShare依賴ShareSDK
5.在project的本module下新建一個assets資料夾,非新建的module(一般是“app”),然後將ShareSDK for Android / Res
6.配置分享平臺:
<ShareSDK
AppKey = "sharesdk應用的appkey"/>
<SinaWeibo
Id="1")
SortId="1"
AppKey="key"
AppKey="appkey" <span style="font-family: Arial, Helvetica, sans-serif;"></span>
RedirectUrl="http://www.sharesdk.cn"
ShareByAppClient="true"
Enable="true" />
程式碼中是分享至新浪微博,其他平臺道理同上。
7.配置許可權:
<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"/>
8.在application節點下注冊下面的Activity,將下面綠色的改為在騰訊開放平臺申請到的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="tencent<span style="color:#33cc00;">1104646053</span>" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
9.在首啟動的Activity的onCreate方法中初始化ShareSDK: 即ShareSDK.initSDK(this);在結束的Activity的onDestroy方法中登出:即ShareSDK.stopSDK(this);
10.使用程式碼進行分享:
OnekeyShare oks = new OnekeyShare();
oks.disableSSOWhenAuthorize();
oks.setTitle("我是分享title");
oks.setTitleUrl("http://xxxxxxxxxxxxxxxxxxxxxxx");
oks.setText("永不止步");
oks.setUrl("http://xxxxxxxxxxxxxxxxxxxx");
oks.setComment("評論");
oks.setSiteUrl("http://xxxxxxxxxxxxxxxxxxxxxxx");
// 啟動分享
oks.show(this);
oks.setCallback(new PlatformActionListener() {
@Override
public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) {
IApplication.showToast("成功" + platform.getName());
}
@Override
public void onError(Platform platform, int i, Throwable throwable) {
IApplication.showToast("錯誤" + platform.getName());
}
@Override
public void onCancel(Platform platform, int i) {
IApplication.showToast("取消" + platform.getName());
}
});
分享的整個流程就這樣了,還是很簡單的