日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ShareSDK集成微信、QQ、微博分享

發布時間:2024/7/23 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ShareSDK集成微信、QQ、微博分享 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、前言

為什么要使用第三方的作為集成分享的工具呢?而不去用官方的呢?有什么區別么?
一個字”快”,如果你使用官方的得一個個集成他們的SDK,相信這是一個痛苦的過程。

2、準備需要分享的各個平臺的key

這個需要自己去各個開放平臺注冊應用得到appkey,
才可以分享到該平臺(QQ、微信、微博開放平臺),
不然人家也不會讓你無故分享到他們的平臺

3、申請ShareSDK的appkey

http://bbs.mob.com/forum.php?mod=viewthread&tid=8212&extra=page%3D1

4、下載SDK

http://www.mob.com/#/downloadDetail/ShareSDK/android

5、開始集成

官方集成地址http://www.cnblogs.com/smyhvae/p/4585340.html

添加應用信息:

先在app這個module(即我們這個項目的module)下新建一個assets文件夾(即第三方資產目錄),操作如下:

然后,我們將上圖中的ShareSDK.xml文件復制到assets目錄下。

(1)然后配置AndroidManifest.xml添加權限

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

(2)在application結點下注冊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="tencent1104646053" /><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.BROWSABLE" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>

主要用于QQ分享

如果項目集成了微信,還需要添加以下WXEntryActivity,不然的話,mob后臺無法做微信的分享統計:(注意:一定要在工程的包下新建wxapi目錄再放置WXEntryActivity,包名、包名、包名wxapi

* 官網地站:http://www.mob.com* 技術支持QQ: 4006852216* 官方微信:ShareSDK (如果發布新版本的話,我們將會第一時間通過微信將版本更新內容推送給您。如果使用過程中有任何問題,也可以通過微信與我們取得聯系,我們將會在24小時內給予回復)** Copyright (c) 2013年 mob.com. All rights reserved.*/ package com.smyhvae.sharedemo.wxapi; import android.content.Intent; import android.widget.Toast; import cn.sharesdk.wechat.utils.WXAppExtendObject; import cn.sharesdk.wechat.utils.WXMediaMessage; import cn.sharesdk.wechat.utils.WechatHandlerActivity; /** 微信客戶端回調activity示例 */ public class WXEntryActivity extends WechatHandlerActivity {/*** 處理微信發出的向第三方應用請求app message* <p>* 在微信客戶端中的聊天頁面有“添加工具”,可以將本應用的圖標添加到其中* 此后點擊圖標,下面的代碼會被執行。Demo僅僅只是打開自己而已,但你可* 做點其他的事情,包括根本不打開任何頁面*/public void onGetMessageFromWXReq(WXMediaMessage msg) {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();}} }

同時,在清單文件中進行聲明:

<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至少需要在兩個位置添加代碼,包括:

(一)在項目的入口Activity,在其onCreate方法中插入下面的代碼進行初始化:(這個方法越早調用越好)

ShareSDK.initSDK(this);

如果不在所有的ShareSDK的操作之前調用這行代碼,就會拋出空指針異常。

(二)在項目出口Activity的onDestroy方法中第一行插入下面的代碼:

ShareSDK.stopSDK(this);

上方這行代碼會結束ShareSDK的統計功能并釋放資源。如果這行代碼沒有被調用,那么“應用啟動次數”將會不準確,因為應用可能從來沒有被關閉過(注:這一行代碼我還是沒用到,不知道會造成什么實質性的后果)。

開始編寫分享代碼
分享到微信好友:

Wechat.ShareParams sp = new Wechat.ShareParams(); sp.setTitle(resp.getTitle()); sp.setText(resp.getDescription()); sp.setShareType(Platform.SHARE_WEBPAGE); sp.setUrl(resp.getLink()); sp.setImageUrl(resp.getIcon()); Platform wechat = ShareSDK.getPlatform(Wechat.NAME); wechat.setPlatformActionListener(new PlatformActionListener() { @Override public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) { popupWindow.dismiss(); statisticsShareCount(); ToastUtils.show(context, "分享成功"); } @Override public void onError(Platform platform, int i, Throwable throwable) { ToastUtils.show(context, "分享失敗"); } @Override public void onCancel(Platform platform, int i) { ToastUtils.show(context, "分享取消"); } }); // 執行圖文分享wechat.share(sp);

參考鏈接

在Android Studio中使用shareSDK進行社會化分享(圖文教程) - 生命壹號 - 博客園

Android 使用ShareSDK集成微信、QQ、微博分享 - 簡書

總結

以上是生活随笔為你收集整理的ShareSDK集成微信、QQ、微博分享的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。