1. 程式人生 > >shareSDK qq 微信分享

shareSDK qq 微信分享

原因:到官方網站整合第三方應用的分享,很麻煩,除了微信之外,我們還可能做qq、qq空間、微博、其他的等等,都自己寫耽誤時間還容易錯,因此我們用第三方,直接一起全部整合,這裡以qq、微信為例。

1,首先登入shareSDK的官網,http://mob.com/,下載shareSDK,解壓到合適的資料夾中,進入到“ShareSDK for Android”資料夾。

這時看到的目錄應該是這樣的:

2,點選QuicIntegrater.jai,彈出下圖所示的介面,填寫自己應用的專案名稱和包名,選擇需要分享的第三方應用。


3,會生成一個以專案名稱為名的資料夾,將此檔案中的內容,根據名稱,移到專案中對應的文夾中就行。

4,開啟androidManifest.xml檔案,新增許可權。

<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" />

5,新增許可權之後,在填寫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="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>
 </activity>

<!--微信分享回撥 -->
 <activity
     android:name=".wxapi.WXEntryActivity"
     android:theme="@android:style/Theme.Translucent.NoTitleBar"
     android:configChanges="keyboardHidden|orientation|screenSize"
     android:exported="true"
     android:screenOrientation="portrait" />

如果你還集成了其他的第三方,例如支付寶則填加

<!-- 支付寶分享回撥 -->
<activity
    android:name=".apshare.ShareEntryActivity"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:configChanges="keyboardHidden|orientation|screenSize"
    android:exported="true"/>


6,前三步基本配置完成,接下來需要你開發的應用資訊,到mob後臺申請Appkey,和你整合的其他第三方平臺的Appkey。

7,Appkey申請完成,接下來該填入應用的配置檔案中,在assets下的ShareSDK.xml中

老版本:


新版本在androidManifest

<meta-data
android:name="Mob-AppKey"
android:value="2665cc9e3a86c" />

<meta-data
android:name="Mob-AppSecret"
android:value="2176f1d39096c8cb62fc1d7353eca355" />

還有其他的各平臺Appkey,都在ShareSDK.xml中。

8,填寫呼叫程式碼

有兩處位置需要新增,

(1),在程式啟動的時候,新增

ShareSDK.initSDK(this);//初始化和啟動
(2),在隨便哪一個位置showShare()方法,只要在需要的時候呼叫即可。
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);
 }

9.完成。

說明:介面啊,圖示的什麼的,都不用自己來做,都是現成的,只要按照上面來做,就可以完成分享的功能,如果需要修改分享介面,可以整合成功之後,自己閱讀程式碼修改,或登入官網尋找相應文件。