ShareSDK QQ分享遇到的問題記錄
阿新 • • 發佈:2019-01-01
1、QQ分享出現了只顯示分享圖片,沒有顯示分享資訊的問題。大多是因為ShareSDK.xml檔案設定問題。mob平臺解釋說:BypassApproval是繞過稽核的標記,設定為true後AppId將被忽略,不經過稽核的應用也可以執行分享,但是僅限於分享文字和圖片,不能分享連結,BypassApproval="false"不繞過稽核分享可以分享網頁形式的帶連線、標題、文字顯示分享應用來源、應用圖示。
一般來說,我們的應用大多通過騰訊稽核的,因而除非特殊情況,此處設為false.
2、設定上一步後,如果之前BypassApproval設為true的部分同學會出現QQ分享成功但回撥失敗的問題。原因在於ShareSDK 3.1.0之後版本,QQ分享在AndroidManifest設定變化。
舊版本是
<activity android:name="com.mob.tools.MobUIShell" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:windowSoftInputMode="stateHidden|adjustResize"> <!-- 如果整合QQ分享,或者使用QQ客戶端來進行QQ空間的 分享,須要在此處新增一個對ACTION_VIEW事件的過濾器,其中的scheme是“tencent”字首再開發者應用的加上appId。 如果此過濾器不設定,則分享結束以後不能得到正確的回撥 --> <intent-filter> <data android:scheme="tencent+appId" /> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.BROWSABLE" /> <categoryandroid:name="android.intent.category.DEFAULT" /> </intent-filter>
</activity>
新版本是
<activityandroid:name="cn.sharesdk.tencent.qq.ReceiveActivity" android:launchMode="singleTask" android:noHistory="true"> <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tencent+appId" /> </intent-filter> </activity>
這兩點一致,如果問題還沒有解決,可以參考下引數配置:
/** * 分享
* context
* title 分享標題
* content分享文字
* imageUrl 分享圖片
* url 分享連結
*/ public static void onShare(Context context, String title, String content, String imageUrl,String url) { OnekeyShare oks = new OnekeyShare(); // 分享回撥 oks.setCallback(new PlatformActionListenerImpl()); //關閉sso授權 oks.disableSSOWhenAuthorize(); // title標題,印象筆記、郵箱、資訊、微信、人人網和QQ空間使用 oks.setTitle(title); // titleUrl是標題的網路連結,僅在人人網和QQ空間使用 oks.setTitleUrl(url); // text是分享文字,所有平臺都需要這個欄位oks.setText(content); // 分享內容的連線 oks.setUrl(url); // 微信、易信分享內容 // 微信圖片,微信朋友圈必須oks.setImageUrl(imageUrl); // 啟動分享GUI oks.show(context); }