shareSDK qq 微信分享
阿新 • • 發佈:2019-02-07
原因:到官方網站整合第三方應用的分享,很麻煩,除了微信之外,我們還可能做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.完成。
說明:介面啊,圖示的什麼的,都不用自己來做,都是現成的,只要按照上面來做,就可以完成分享的功能,如果需要修改分享介面,可以整合成功之後,自己閱讀程式碼修改,或登入官網尋找相應文件。