關于作者:CSDN內容合伙人、技術專家, 從零開始做日活千萬級APP。
專注于分享各領域原創系列文章 ,擅長java后端、移動開發、商業變現、人工智能等,希望大家多多支持。
一、導讀
我們繼續總結學習,溫故知新。
鑒于前陣子有人問到分享相關的功能,說不知道在哪里注冊,本文做一個收集整理。
本文主要介紹QQ、微信、新浪微博、支付寶、釘釘等幾個國內主流三方分享平臺,以及一些聚合分享平臺。
二、微信 分享
微信開發平臺
Android接入指南
- 注冊 > 獲取應用APPID
- 接入sdk
在build.gradle中添加
dependencies {api 'com.tencent.mm.opensdk:wechat-sdk-android:+'
}
項目的根 build.gradle 文件中,添加如下代碼
buildscript {repositories {jcenter() // 原有 jCenter 引用可繼續保留mavenCentral()}
}allprojects {repositories {jcenter() // 原有 jCenter 引用可繼續保留mavenCentral()}
}
配置AndroidManifest
- 接收微信的請求及返回值
在你的包名相應目錄下新建一個 wxapi 目錄,并在該 wxapi 目錄下新增一個 WXEntryActivity 類,該類繼承自 Activity
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {private IWXAPI api;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);api = WXAPIFactory.createWXAPI(this, CorePackageConfig.APPINFO.WEIXIN_APPID, false);try {Intent intent = getIntent();api.handleIntent(intent, this);} catch (Exception e) {}}@Overrideprotected void onNewIntent(Intent intent) {super.onNewIntent(intent);setIntent(intent);api.handleIntent(intent, this);}@Overridepublic void onReq(BaseReq req) {// 微信發送請求到第三方應用時,會回調到該方法}@Overridepublic void onResp(BaseResp baseResp) {}}
mani
<activityandroid:name=".wxapi.WXEntryActivity"android:label="@string/app_name"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:exported="true"android:taskAffinity="填寫你的包名"android:launchMode="singleTask">
</activity>
添加混淆
- 調試
private final IWXAPI iwxapi;/*** 分享文本*/@Overridepublic void shareText(Activity activity, Entity Entity, ShareListener listener) {String shareText = Entity.getDesc();if (TextUtil.isEmpty(shareText)) {return;}WXTextObject textObj = new WXTextObject();textObj.text = shareText;WXMediaMessage msg = new WXMediaMessage();msg.mediaObject = textObj;msg.description = shareText;SendMessageToWX.Req req = new SendMessageToWX.Req();req.transaction = buildTransaction("text");req.message = msg;req.scene = getSendScene(Entity.getShare_type());iwxapi.sendReq(req);addOnStarListener(listener);}
三、 QQ 、QQ空間(Qzone) 分享
QQ互聯官網
文檔資料
- 注冊 > 獲取應用APPID
- 下載sdk
- 接入sdk
將下載好的 open_sdk_xxx_lite.jar 拷貝到 lib目錄下
在build.gradle中添加
dependencies {implementation fileTree(dir: 'libs', include: '*.jar')
}
配置AndroidManifest
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><application><activityandroid:name="com.tencent.tauth.AuthActivity"android:noHistory="true"android:launchMode="singleTask" ><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>
<activityandroid:name="com.tencent.connect.common.AssistActivity"android:configChanges="orientation|keyboardHidden"android:screenOrientation="behind" android:theme="@android:style/Theme.Translucent.NoTitleBar" /><application>
- 調試
public class QQShareMediaAction {private final Tencent mTencent;public QQShareMediaAction(Activity activity) {mTencent = Tencent.createInstance(qqAppId(), activity.getApplicationContext(), "");}/*** 分享文本* QQ不支持分享純文本*/public void shareText(Activity activity, ShareEntity ShareEntity, ShareManager.CustomShareListener listener) {shareWeb(activity, ShareEntity, listener);}/*** 分享圖片* 只支持本地圖片*/public void shareImage(Activity activity, ShareEntity ShareEntity, ShareManager.CustomShareListener listener) {String shareImgUrl = ShareEntity.getImg_url();if (ShareTextUtil.isEmpty(shareImgUrl) || !limitSize(ShareEntity.getImg_url(), listener)) {return;}Bundle params = new Bundle();params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_IMAGE);params.putString(QQShare.SHARE_TO_QQ_IMAGE_LOCAL_URL, shareImgUrl);mTencent.shareToQQ(activity, params, listener);addOnStarListener(listener);}}
四、新浪微博
登錄 新浪微博開放平臺
移動客戶端接入說明
Android SDK文檔
授權回調頁、取消授權回調頁設置在應用信息—>高級信息,iOS應用具體位置參考下圖注意這里的授權回調頁需要和代碼中的redirectURL參數保持一致bundle ID設置注意和工程保持一致
五、釘釘
登錄 釘釘開放平臺
釘釘分享介紹
六、支付寶
支付寶開放平臺
使用支付寶賬號登錄,注冊APP,點擊應用 > 在功能信息中添加分享功能 > 最后申請上線審核,通過即可
七、企業微信
企業微信官方平臺
要使用企業微信分享功能模塊,需要先在企業微信官方平臺注冊企業賬號,并建立iOS或者安卓端應用,啟用 “企業微信授權登錄” 接口
八、聚合分享平臺
如umeng,極光等一些國內聚合的分享。
九、 推薦閱讀
Java 專欄
SQL 專欄
數據結構與算法
Android學習專欄