ShareSDK集成第三方登陸和分享的步驟

以前用過這個幾回了,而每次都沒有記錄一下具體的步驟,此次就寫一下吧 android

一、去ShareSDK下載官方的SDK 微信

二、如今他們的服務特別人性化,解壓SDK以後會發現有一個"雙擊此批處理文件能夠生成一個快速集成ShareSDK的目錄.bat"這樣一個文件,打開以後按照提示輸入你的應用包名,他就會給你生成一個目錄,你直接拷貝到你的項目中就OK了,拷貝進來以後會報錯,其實就是R文件報錯,在導入R文件包名的時候選擇你本身的包名,而後就完事了,clean一下你的工程。 eclipse

三、在assets目錄下有一個ShareSDK.conf的文件,打開,找到你要集成的平臺名字,而後APPKEY就不用說了,這裏說一下 AppSecret 這個是新浪特有的 工具

SortId="1"   這個是集成的平臺的獨有ID,int類型的,數字越小越靠前 this

ShortLinkConversationEnable用來設置此平臺是否開啓轉短鏈的功能,布爾值,不設置則默認爲
    true,此字段影響到迴流統計,建議保留默認配置
spa

下面是在代碼中進行集成 指針

1.首先在你的項目入口的activity的oncreat()方法中,加上ShareSDK.initSDK(this);這句代碼是初始化ShareSDK的
二、若是須要統計應用被打開次數,能夠在出口activity中的onDestroy()方法的第一行中加入ShareSDK.stopSDK(this);
code

這行代碼會結束Share SDK的統計功能並釋放資源。 orm

    InitSDK是能夠重複調用的,其實Share SDK建議在您不肯定的時候調用這個方法,來保證Share SDK被正確初始化。而stopSDK一旦調用了,就必須從新調用InitSDK才能使用Share SDK的功能,不然會出現空指針異常。 xml

到這裏,基本的準備工做就已經完成了。下面是具體的集成代碼了,這裏以新浪微博和微信爲例:

一、首先,說一下微信,騰訊的東西真TM不爽,微信這個玩意,非要搞什麼簽名和包名捆綁,一系列麻煩的東西,下面說一下

    1)進入微信開放平臺添加Android平臺的信息。這些信息包括:下載地址、應用簽名和包名。

    

上圖中的下載地址不能夠是應用apk文件的直接地址,而報名則是您應用的包名。至於應用簽名,事實上您應用簽名文件(keystore文件)的MD5值。有多種計算方式:

(1)使用微信提供的簽名計算工具,來簽名: 若是您但願經過這個方法來計算簽名,則須要下載微信的簽名計算工具。此處須要注意的是下載回來的文件必定是「apk」的,若是您下載回來的文件是zip或者後綴名,請修改其後綴名爲「apk」,並複製到您的手機上安裝。 而後爲您的應用導出一個簽過名的apk。請注意,這個簽名應該是您未來發布應用時的簽名,也就是所謂的「正式包簽名」。這裏須要解釋一下,微信並不要求具體使用的簽名文件的性質,可是修改簽名常常會致使問題,因此爲了不沒必要要的麻煩,Share SDK強烈建議您使用正式包的簽名。 安裝導出的apk文件,而後運行微信的簽名計算工具。並在其中輸入您應用的包名,微信會自動計算您應用所籤keystore的MD5:轉至微信開放平臺,將計算好的結果填寫到其中並保存。

我的比較推薦這個方法,用eclipse的那種方法會由於eclipse的bug報錯


修改受權頁標題欄:

在清單文件中修改一下以前插入的受權頁activity

主要是修改下面的meta-data

<activity
            android:name="cn.sharesdk.framework.ShareSDKUIShell"
            android:configChanges="keyboardHidden|orientation"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:windowSoftInputMode="stateHidden|adjustResize" >
             
            <meta-data android:name="Adapter" android:value="com.example.share.MyAdapter" />
         </activity>
而後建立MyAdapter這個類,繼承cn.sharesdk.framework. authorize.AuthorizeAdapter,

而後重寫onCreat方法等。從新定義界面

這裏有幾個方法會用到:

還有getPlatformName()-獲取是哪一個平臺的受權頁,getWebBody(),分享的內容

相關文章
相關標籤/搜索