Android 分享小結

關于作者:CSDN內容合伙人、技術專家, 從零開始做日活千萬級APP。
專注于分享各領域原創系列文章 ,擅長java后端、移動開發、商業變現、人工智能等,希望大家多多支持。

目錄

  • 一、導讀
  • 二、微信 分享
  • 三、 QQ 、QQ空間(Qzone) 分享
  • 四、新浪微博
  • 五、釘釘
  • 六、支付寶
  • 七、企業微信
  • 八、聚合分享平臺
  • 九、 推薦閱讀

在這里插入圖片描述

一、導讀

我們繼續總結學習,溫故知新。

鑒于前陣子有人問到分享相關的功能,說不知道在哪里注冊,本文做一個收集整理。

本文主要介紹QQ、微信、新浪微博、支付寶、釘釘等幾個國內主流三方分享平臺,以及一些聚合分享平臺。

二、微信 分享

微信開發平臺
Android接入指南

  1. 注冊 > 獲取應用APPID
  2. 接入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


  1. 接收微信的請求及返回值

在你的包名相應目錄下新建一個 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>

添加混淆

  1. 調試
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互聯官網
文檔資料

  1. 注冊 > 獲取應用APPID
  2. 下載sdk
  3. 接入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>
  1. 調試
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學習專欄

ddd

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/211174.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/211174.shtml
英文地址,請注明出處:http://en.pswp.cn/news/211174.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MATLAB基礎運算

矩陣和數字相乘 就是矩陣里面每個元素跟這個數字乘一遍&#xff0c;無論是點乘還是叉乘&#xff0c;對于這個都一樣。 >> Aones(3) A 1 1 11 1 11 1 1 >> 10*A ans 10 10 1010 10 1010 10 10 矩陣和矩陣叉乘 能不能相…

C++普通函數與函數模板的調用規則

調用規則 如果函數模板和普通函數都可以實現&#xff0c;優先調用普通函數可以通過空模板參數列表來強制調用函數模板函數模板也可以重載如果函數模板可以產生更好的匹配&#xff0c;優先調用函數模板 總結&#xff1a;既然提供了函數模板&#xff0c;最好就不要提供普通函數…

CSS 如何居中 DIV

如何居中 div&#xff1f; 水平居中&#xff1a;給 div 設置一個寬度&#xff0c;然后添加 margin:0 auto 屬性 div {width: 200px;margin: 0 auto; }水平居中&#xff0c;利用 text-align:center 實現 .container {background: rgba(0, 0, 0, 0.5);text-align: center;font…

基于ssm鐵嶺河醫院醫患管理系統論文

摘 要 21世紀的今天&#xff0c;隨著社會的不斷發展與進步&#xff0c;人們對于信息科學化的認識&#xff0c;已由低層次向高層次發展&#xff0c;由原來的感性認識向理性認識提高&#xff0c;管理工作的重要性已逐漸被人們所認識&#xff0c;科學化的管理&#xff0c;使信息存…

logback的使用

1 logback概述 SLF4J與其它日志組件調用關系圖如下所示。 SLF4J&#xff0c;即Java中的簡單日志門面&#xff08;Simple Logging Facade for Java&#xff09;&#xff0c;不是具體的日志解決方案&#xff0c;它只服務于各種各樣的日志系統。 SLF4J最常用的日志實現框架是&am…

2023 CCF中國軟件大會(CCF ChinaSoft) “區塊鏈可靠性分析”論壇成功召開

2023年12月1日上午&#xff0c;2023年度CCF中國軟件大會區塊鏈可靠性分析論壇成功召開。 本次論壇由中山大學鄭子彬、澳門科技大學張濤、中科院軟件所蔡彥和中山大學陳嘉弛四位老師聯合組織舉辦。本論壇重點關注區塊鏈可靠性&#xff0c;邀請了近年來在區塊鏈可靠性研究方面有先…

【postgresql】ERROR: INSERT has more expressions than target columns

執行下面sql insert into apply_account_cancellation3 select * from pply_account_cancellation; 返回下面錯誤信息 insert into apply_account_cancellation3 select * from apply_account_cancellation > ERROR: INSERT has more expressions than target colu…

【Rust】第二節:入門(如入)

1 說明 包含"Hello, world!“以及"Hello, cargo!” 環境&#xff1a;MacOS 2 Hello world 2.1 運行 1、建一個目錄 2、用vscode打開 3、新建文件main.js 4、輸入 fn main(){println!("Hello, world!"); }5、打開終端&#xff0c;執行rustc main.rs 6、…

Java:字節流 文件輸出與讀入方法 并 實現文件拷貝

文章目錄 字節 流FileOutputStream換行 與 續寫FileInputstream實現 文件拷貝&#xff08;字節數組 讀入方法&#xff09;字節流 編碼 字節 流 FileOutputStream 創建對象&#xff0c;指定位置&#xff08;產生數據傳輸通道&#xff09; 參數可以是File對象&#xff0c;也可以…

特征驅動開發

FDD 方法來自于一個大型的新加坡銀行項目。FDD 的創立者 Jeff De Luca 和 Peter Coad 分別是這個項目的項目經理和首席架構設計師。在 Jeff 和 Peter 接手項目時&#xff0c;客戶已經經歷了一次項目的失敗&#xff0c;從用戶到高層都對這個項目持懷疑的態度&#xff0c;項目組士…

mysql面試題——日志

一&#xff1a;為什么需要REDO日志 緩沖池可以幫助我們消除CPU和磁盤之間的鴻溝&#xff0c;checkpoint機制可以保證數據的最終落盤&#xff0c;然而由于checkpoint 并不是每次變更的時候就觸發 的&#xff0c;而是master線程隔一段時間去處理的。所以最壞的情況就是事務提交后…

持續集成交付CICD:Jenkins配置Nexus制品發布

目錄 一、實驗 1.Jenkins配置Nexus制品發布 一、實驗 1.Jenkins配置Nexus制品發布 &#xff08;1&#xff09;策略 發布其實就是下載制品&#xff0c;然后將制品發送到目標主機&#xff0c;最后通過腳本或者指令啟動程序。 &#xff08;2&#xff09;安裝Maven Artifact …

前端知識(十一)———js判斷上傳的文件是GBK編碼還是UTF-8

1、獲取文件二進制數據&#xff0c;這里只做示例&#xff0c;例如element-ui中文件上傳的beforeUpload方法&#xff0c;返回的file對象&#xff0c;然后使用FileReader對其進行轉換&#xff0c;再進行后續判斷 function beforeUpload(file: File) { const reader new FileRe…

uniapp圖片預覽

用的是Uview組件庫里面的 直接在頁面寫上&#xff1a; <u-album singleSize"100" :urls"[https://lxt.jingyi.icu/item.img]"></u-album> 這圖片路徑是我自己的 你們可以按照組件庫里面的方法去實現

DataFrame的使用

查看數據類型及屬性 # 查看df類型 type(df) # 查看df的shape屬性&#xff0c;可以獲取DataFrame的行數&#xff0c;列數 df.shape # 查看df的columns屬性&#xff0c;獲取DataFrame中的列名 df.columns # 查看df的dtypes屬性&#xff0c;獲取每一列的數據類型 df.dtypes df.i…

標準成本核算基礎知識 – 了解間接費用成本流程 - Part4

原文地址&#xff1a;Basics of Standard Costing – Understanding overhead cost flow-Part 4 | SAP Blogs 這是我理解標準成本計算及其流程的另一篇文檔的延續。 標準成本核算基礎知識 - 了解成本構成結構 - 第 3 部分 管理費用是只能間接歸因于產品的成本&#xff0c;例如…

react中使用react-konva實現畫板框選內容

文章目錄 一、前言1.1、API文檔1.2、Github倉庫 二、圖形2.1、拖拽draggable2.2、圖片Image2.3、變形Transformer 三、實現3.1、依賴3.2、源碼3.2.1、KonvaContainer組件3.2.2、use-key-press文件 3.3、效果圖 四、最后 一、前言 本文用到的react-konva是基于react封裝的圖形繪…

基礎課20——從0-1客服機器人生命周期

溫馨提示&#xff1a;篇幅較長&#xff0c;可點擊目錄查看對應節點。 1.機器人搭建期 搭建機器人包含&#xff1a;素材整理、問題提煉、相似問題補充、答案編輯、問題分配引擎等等步驟&#xff0c;不同廠商可能有所區別&#xff0c;但關鍵功能的實現離不開以下步驟。 1.1素材…

Flutter路由的幾種用法

Flutter路由跳轉 基本路由跳轉 ElevatedButton(onPressed: () {//基本路由跳轉Navigator.of(context).push(MaterialPageRoute(builder: (BuildContext context) {return const SearchPage();}),);},child: const Text("基本路由跳轉"), ), search.dart頁面 impo…

說說react的事件機制?

React的事件機制是一種用于處理用戶界面事件的方式&#xff0c;它建立在原生DOM事件的基礎上&#xff0c;提供了一種更高級、更一致的方式來處理事件。 1. 合成事件&#xff08;Synthetic Events&#xff09;&#xff1a;React引入了合成事件的概念&#xff0c;它是一種React自…