ShareSDK的官方關于Android Studio的整合寫的比較亂创坞,整合的時候遇到了一些坑蔽豺,自己總結下晶丘。
前言
開發(fā)工具:Android Studio 2.1.2(mac版本)
開發(fā)環(huán)境:OS X EI Capitan 版本 10.11.5
ShareSDK版本:V2.7.2
(下載地址:https://dn-epoint.qbox.me/ShareSDK-Android-2.7.2.tar.gz)
一.前期準備
1.帳號申請
https://open.weixin.qq.com/
首先登錄微信開放平臺嘴高,注冊一個帳號
2.提交APP審核
為什么必須提交app審核呢寺晌?
請看下圖微信開放平臺接口使用權限
不提交審核,根本沒法用,無語了。予跌。。
提交需要準備:應用名稱善茎,應用簡介券册,應用圖片(2828,108108)巾表,應用官網(wǎng)
android版本:需要提供應用簽名汁掠,應用包名
具體參考官網(wǎng),安裝步驟一步步來
這里需要注意幾點:
第一:關于應用簽名集币,需要把你的app打包成APK安裝到手機考阱,然后通過簽名工具,生成對應的簽名
不得不說官方的簽名工具真的是給人用的嗎鞠苟?
我還是推薦使用新浪的簽名工具吧乞榨!
下載地址
https://dn-epoint.qbox.me/app_signatures.apk
第二:如果每次打包都是采用相關的證書,那么生成的簽名是一樣的5庇椤3约取!
下面就可以提交審核了跨细,審核周期官方說是7天鹦倚,一般1-2天就可以審核通過了!
審核通過
APPID還是非常有用的冀惭,后面會用到震叙。
3.手機安裝微信客戶端
補充:由于本Demo只是簡單使用了文本分享API掀鹅,如果你需要使用微信登錄API,那么就需要進行開發(fā)者認證(具體認證流程請參考官網(wǎng))媒楼,非政府乐尊,事業(yè)單位,每年300划址,政府事業(yè)單位認證免費扔嵌。
至此,前期所有的準備工作完成夺颤,下面進行代碼的整合痢缎。
二.代碼整合
源碼:
https://github.com/andli0626/wx_share_by_sharesdk.git
特別說明:微信分享必須要正式打包簽名才可以,直接通過Android Studio安裝是無效的(又得吐槽了拂共,很不方便調試啊.......)
0.新建項目
1.權限配置
<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"/>
2.AndroidManifest.xml配置
<!--分享UI配置-->
<activity
android:name="com.mob.tools.MobUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
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>
</activity>
<!-- 微信分享回調 -->
<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.xml配置配置
首先需要在項目中新建個assets目錄牺弄,步驟如下:
OK姻几,新建完成
需要配置ShareSDK AppKey宜狐,微信AppID,AppSecret
特別注意:需要配置三處蛇捌,分別針對微信好友抚恒,微信朋友圈,微信收藏
4.導入SDK文件
首先通過SDK自帶的工具生成相應的文件
然后將相應的文件拷貝到對應的目錄即可
前方有坑請注意:
5.核心代碼
private void showShare() {
ShareSDK.initSDK(this);
OnekeyShare oks = new OnekeyShare();
// 關閉sso授權
oks.disableSSOWhenAuthorize();
// 分享時Notification的圖標和文字 2.5.9以后的版本不調用此方法
// oks.setNotification(R.drawable.ic_launcher,
// getString(R.string.app_name));
// title標題络拌,印象筆記俭驮、郵箱、信息春贸、微信混萝、人人網(wǎng)和QQ空間使用
oks.setTitle("微信分享");
// titleUrl是標題的網(wǎng)絡鏈接,僅在人人網(wǎng)和QQ空間使用
oks.setTitleUrl("http://sharesdk.cn");
// text是分享文本萍恕,所有平臺都需要這個字段
oks.setText("我是分享文本");
// imagePath是圖片的本地路徑逸嘀,Linked-In以外的平臺都支持此參數(shù)
// oks.setImagePath("/sdcard/test.jpg");//確保SDcard下面存在此張圖片
// url僅在微信(包括好友和朋友圈)中使用
oks.setUrl("http://sharesdk.cn");
// comment是我對這條分享的評論,僅在人人網(wǎng)和QQ空間使用
oks.setComment("我是測試評論文本");
// site是分享此內容的網(wǎng)站名稱允粤,僅在QQ空間使用
oks.setSite(getString(R.string.app_name));
// siteUrl是分享此內容的網(wǎng)站地址崭倘,僅在QQ空間使用
oks.setSiteUrl("http://sharesdk.cn");
// 啟動分享GUI
oks.show(this);
}
至此,一個通過ShareSDK實現(xiàn)簡單文本分享的Demo就完成了类垫。
參考資料
ShareSDK 官方Android Studio整合說明
http://www.cnblogs.com/smyhvae/p/4585340.html