mob第三方分享微信、qq、微博
阿新 • • 發佈:2018-11-11
1、導包
2、之後修改mainfest
<!-- Mob 分享SDK start --> <activity android:name="com.mob.tools.MobUIShell" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:windowSoftInputMode="stateHidden|adjustResize"> <intent-filter> <data android:scheme="" /> <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:configChanges="keyboardHidden|orientation|screenSize" android:exported="true" android:screenOrientation="portrait" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <meta-data android:name="Mob-AppKey" android:value="" /> <meta-data android:name="Mob-AppSecret" android:value="" /> <!-- Mob 分享SDK end -->
3、ShareSDK
<!-- Wechat微信和WechatMoments微信朋友圈的appid是一樣的; 注意:開發者不能用我們這兩個平臺的appid,否則分享不了 微信測試的時候,微信測試需要先簽名打包出apk, sample測試微信,要先簽名打包,keystore在sample專案中,密碼123456 BypassApproval是繞過稽核的標記,設定為true後AppId將被忽略,故不經過 稽核的應用也可以執行分享,但是僅限於分享文字和圖片,不能分享其他型別, 預設值為false。此外,微信收藏不支援此欄位。wx4868b35061f87885 --> <!--要分享微信小應用程式時用userName,path--> <Wechat Id="4" SortId="4" AppId="" AppSecret="" UserName="" Path="pages/index/index.html?id=1" BypassApproval="false" WithShareTicket = "true" MiniprogramType = "0" Enable="true" />
4、wxapi中的WXEntryActivity
/** 微信客戶端回撥activity示例 */ public class WXEntryActivity extends WechatHandlerActivity { /** * 處理微信發出的向第三方應用請求app message * <p> * 在微信客戶端中的聊天頁面有“新增工具”,可以將本應用的圖示新增到其中 * 此後點選圖示,下面的程式碼會被執行。Demo僅僅只是開啟自己而已,但你可 * 做點其他的事情,包括根本不開啟任何頁面 */ public void onGetMessageFromWXReq(WXMediaMessage msg) { if (msg != null) { Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName()); startActivity(iLaunchMyself); } } /** * 處理微信向第三方應用發起的訊息 * <p> * 此處用來接收從微信傳送過來的訊息,比方說本demo在wechatpage裡面分享 * 應用時可以不分享應用檔案,而分享一段應用的自定義資訊。接受方的微信 * 客戶端會通過這個方法,將這個資訊傳送回接收方手機上的本demo中,當作 * 回撥。 * <p> * 本Demo只是將資訊展示出來,但你可做點其他的事情,而不僅僅只是Toast */ public void onShowMessageFromWXReq(WXMediaMessage msg) { if (msg != null && msg.mediaObject != null && (msg.mediaObject instanceof WXAppExtendObject)) { WXAppExtendObject obj = (WXAppExtendObject) msg.mediaObject; Toast.makeText(this, obj.extInfo, Toast.LENGTH_SHORT).show(); } } }
5、底部彈出框
/** * 顯示底部分享彈出框 */ private void showBottomDialog() { new BottomDialog(this) .title(R.string.share_to) //設定標題 .layout(BottomDialog.LINEAR) //設定內容layout,預設為線性(LinearLayout) .orientation(BottomDialog.HORIZONTAL) //設定滑動方向,預設為橫向 .inflateMenu(R.menu.menu_share, new OnItemClickListener() { //傳入選單內容 @Override public void click(Item item) { if (!Util.isNetworkConnected(DiscernActivity.this)) { showShortToast(getString(R.string.no_network)); return; } if (getString(R.string.menu_wechat).equals(item.getTitle())) { //微信 shareToWX(); } else if (getString(R.string.menu_moments).equals(item.getTitle())) { //朋友圈 shareToWXPYQ(); } else if (getString(R.string.menu_qq).equals(item.getTitle())) { //QQ shareToQQ(); } else if (getString(R.string.menu_weibo).equals(item.getTitle())) { //微博 shareToWB(); } } }) .show(); }
6、分享到微信
/** * 分享到微信 */ private void shareToWX() { showShortToast("正在進入微信分享,請稍等"); Platform.ShareParams sp = new Platform.ShareParams(); sp.setTitle(""); sp.setText(""); sp.setImageUrl(""); sp.setUrl("https://www.daodianwang.com"); sp.setShareType(Platform.SHARE_WEBPAGE); Platform pf = ShareSDK.getPlatform(Wechat.NAME); pf.setPlatformActionListener(new PlatformActionListener() { @Override public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) { showShortToast("分享到微信成功"); } @Override public void onError(Platform platform, int i, Throwable throwable) { } @Override public void onCancel(Platform platform, int i) { } }); if (!pf.isClientValid()) { showShortToast("微信未安裝,請先安裝微信"); return; } pf.share(sp); }