ShareSDK集成微信、QQ、微博分享
1、前言
為什么要使用第三方的作為集成分享的工具呢?而不去用官方的呢?有什么區(qū)別么?
一個(gè)字”快”,如果你使用官方的得一個(gè)個(gè)集成他們的SDK,相信這是一個(gè)痛苦的過(guò)程。
2、準(zhǔn)備需要分享的各個(gè)平臺(tái)的key
這個(gè)需要自己去各個(gè)開(kāi)放平臺(tái)注冊(cè)應(yīng)用得到appkey,
才可以分享到該平臺(tái)(QQ、微信、微博開(kāi)放平臺(tái)),
不然人家也不會(huì)讓你無(wú)故分享到他們的平臺(tái)
3、申請(qǐng)ShareSDK的appkey
http://bbs.mob.com/forum.php?mod=viewthread&tid=8212&extra=page%3D1
4、下載SDK
http://www.mob.com/#/downloadDetail/ShareSDK/android
5、開(kāi)始集成
官方集成地址http://www.cnblogs.com/smyhvae/p/4585340.html
添加應(yīng)用信息:
先在app這個(gè)module(即我們這個(gè)項(xiàng)目的module)下新建一個(gè)assets文件夾(即第三方資產(chǎn)目錄),操作如下:
然后,我們將上圖中的ShareSDK.xml文件復(fù)制到assets目錄下。
(1)然后配置AndroidManifest.xml添加權(quán)限
<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"/>(2)在application結(jié)點(diǎn)下注冊(cè)activity
<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="tencent1104646053" /><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.BROWSABLE" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>主要用于QQ分享
如果項(xiàng)目集成了微信,還需要添加以下WXEntryActivity,不然的話,mob后臺(tái)無(wú)法做微信的分享統(tǒng)計(jì):(注意:一定要在工程的包下新建wxapi目錄再放置WXEntryActivity,包名、包名、包名wxapi)
* 官網(wǎng)地站:http://www.mob.com* 技術(shù)支持QQ: 4006852216* 官方微信:ShareSDK (如果發(fā)布新版本的話,我們將會(huì)第一時(shí)間通過(guò)微信將版本更新內(nèi)容推送給您。如果使用過(guò)程中有任何問(wèn)題,也可以通過(guò)微信與我們?nèi)〉寐?lián)系,我們將會(huì)在24小時(shí)內(nèi)給予回復(fù))** Copyright (c) 2013年 mob.com. All rights reserved.*/ package com.smyhvae.sharedemo.wxapi; import android.content.Intent; import android.widget.Toast; import cn.sharesdk.wechat.utils.WXAppExtendObject; import cn.sharesdk.wechat.utils.WXMediaMessage; import cn.sharesdk.wechat.utils.WechatHandlerActivity; /** 微信客戶端回調(diào)activity示例 */ public class WXEntryActivity extends WechatHandlerActivity {/*** 處理微信發(fā)出的向第三方應(yīng)用請(qǐng)求app message* <p>* 在微信客戶端中的聊天頁(yè)面有“添加工具”,可以將本應(yīng)用的圖標(biāo)添加到其中* 此后點(diǎn)擊圖標(biāo),下面的代碼會(huì)被執(zhí)行。Demo僅僅只是打開(kāi)自己而已,但你可* 做點(diǎn)其他的事情,包括根本不打開(kāi)任何頁(yè)面*/public void onGetMessageFromWXReq(WXMediaMessage msg) {Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName());startActivity(iLaunchMyself);}/*** 處理微信向第三方應(yīng)用發(fā)起的消息* <p>* 此處用來(lái)接收從微信發(fā)送過(guò)來(lái)的消息,比方說(shuō)本demo在wechatpage里面分享* 應(yīng)用時(shí)可以不分享應(yīng)用文件,而分享一段應(yīng)用的自定義信息。接受方的微信* 客戶端會(huì)通過(guò)這個(gè)方法,將這個(gè)信息發(fā)送回接收方手機(jī)上的本demo中,當(dāng)作* 回調(diào)。* <p>* 本Demo只是將信息展示出來(lái),但你可做點(diǎn)其他的事情,而不僅僅只是Toast*/public void onShowMessageFromWXReq(WXMediaMessage msg) {if (msg != null && msg.mediaObject != null&& (msg.mediaObject instanceof WXAppExtendObject)) {WXAppExtendObject obj = (WXAppExtendObject) msg.mediaObject;Toast.makeText(this, obj.extInfo, Toast.LENGTH_SHORT).show();}} }同時(shí),在清單文件中進(jìn)行聲明:
<activity android:name=".wxapi.WXEntryActivity"android:configChanges="keyboardHidden|orientation|screenSize"android:exported="true"android:screenOrientation="portrait"android:theme="@android:style/Theme.Translucent.NoTitleBar"/>(3)添加代碼
集成ShareSDK至少需要在兩個(gè)位置添加代碼,包括:
(一)在項(xiàng)目的入口Activity,在其onCreate方法中插入下面的代碼進(jìn)行初始化:(這個(gè)方法越早調(diào)用越好)
ShareSDK.initSDK(this);
如果不在所有的ShareSDK的操作之前調(diào)用這行代碼,就會(huì)拋出空指針異常。
(二)在項(xiàng)目出口Activity的onDestroy方法中第一行插入下面的代碼:
ShareSDK.stopSDK(this);
上方這行代碼會(huì)結(jié)束ShareSDK的統(tǒng)計(jì)功能并釋放資源。如果這行代碼沒(méi)有被調(diào)用,那么“應(yīng)用啟動(dòng)次數(shù)”將會(huì)不準(zhǔn)確,因?yàn)閼?yīng)用可能從來(lái)沒(méi)有被關(guān)閉過(guò)(注:這一行代碼我還是沒(méi)用到,不知道會(huì)造成什么實(shí)質(zhì)性的后果)。
開(kāi)始編寫(xiě)分享代碼
分享到微信好友:
參考鏈接
在Android Studio中使用shareSDK進(jìn)行社會(huì)化分享(圖文教程) - 生命壹號(hào) - 博客園
Android 使用ShareSDK集成微信、QQ、微博分享 - 簡(jiǎn)書(shū)
總結(jié)
以上是生活随笔為你收集整理的ShareSDK集成微信、QQ、微博分享的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Cocos2dx实现象棋之布局
- 下一篇: Android仿微信界面