導航:首頁 > APP軟體 > 安卓開發微信分享

安卓開發微信分享

發布時間:2023-08-29 02:08:40

❶ 解決Android11上分享圖片失敗,微信提示需要使用FileProvider

先看下微信分享錯誤的提示:

看到這個錯誤大家第一個可能會想到FileProvider我在AndroidManifest早已配置過了,但是配置了是你可以使用FileProvider存儲了應用間共享文件,但是在並不代表你使用了FileProvider,然後了解問題我們就要先了解一個概念 分區存儲

Android 10之前,外部存儲區的內容主要以兩種形式:

在Android 10 中,Google首次引入了 分區存儲 ,將公共區域劃分成了不同的集合,並且在媒體文件和其他文檔之間建立了清楚的分割。經過劃分之後應用不可以隨意訪問外部存儲區中的文件,而只能訪問媒體文件。

Android 11 (API 級別 30) 進一步增強了平台功能,為外部存儲中的應用和用戶數據提供了更好的保護。
從 Android 11 開始,使用 分區存儲模式 的應用即使擁有 READ_EXTERNAL_STORAGE 許可權,也無法再訪問外部存儲中的任何其他應用的 專屬目錄 中的文件

受到這一限制的影響,如果你的應用通過第三方 SDK 分享文件 ( 例如分享照片給另一應用上的好友 ) 到其他應用,而這只是將自己專屬目錄中的文件路徑傳遞給目標應用,目標應用將無法讀取該文件。部分分享 SDK 可能沒有正確處理這種情形,沒有顯式報錯而只是靜默失敗 (對方用戶都沒有意識到這次分享),影響開發者和用戶的體驗。

FileProvider是Android7就提出的應用間共享文件適配方式,而目前大多數應用和SDK都具備這中方式
如果您的應用需要在 Android 11 上向其他應用分享文件,請檢查您使用的第三方分享 SDK 是否支持通過 FileProvider 進行分享 (現在大部分常用的第三方分享 SDK 均已支持)。通過 FileProvider,您的應用能夠允許第三方應用讀取所分享的文件,而不會受到分區存儲的限制

這里微信已經支持通過了FileProvider形式進行分享了,我們可以直接調用

在項目的AndroidManifest.xml添加相關配置,示例如下:

在res/xml目錄(如果沒有xml目錄,則新建一個)下,添加文件file_provider_paths.xml,內容如下:

external-files-path表示通過 Context.getExternalFilesDir(null) 介面獲取到的目錄下的文件才可被共享,其他未配置的路徑均不可被分享。 同樣的節點可以配置多個,以支持多個不同的子目錄 ,如下所示:

將路徑通過FileProvider的介面轉換成 content://URI 形式,示例如下:

參考文檔 OpenSDK支持FileProvider方式分享文件到微信

❷ 用 微信的 android SDK 怎麼分享信息 到微信

用 微信的 android SDK分享信息到微信,方法如下:
1、第一步:登錄微信開放平台,必須注冊了開發者賬號,然後在開放平台添加用於分享信息到微信的Android應用,例如:網路知道APP

2、添加的應用必須審核通過,然後會獲取一個APP_ID和一個APP_SECRET,用於在Android應用中使用

3、在微信開發平台「資源下載頁面」下載對應的SDK庫文件,同時可以下載一個Demo案例

4、想要成功分享信息到微信,比如在Eclipse開發完Android應用後,使用自定義的簽名對APP進行簽名,然後將簽名字元串填寫到微信開放平台審核的應用中(這一步很重要),否則頻繁閃退,分享信息失敗!

❸ Unity 微信登錄分享ShareSDK對接流程

官方文檔: MobTech ShareSDK文檔

ShareSDK可用於多個平台登錄和分享,無需再用服務端,本文主要介紹安卓端使用ShareSDK,進行微信登錄和分享。
當時使用的是Unity2019.4.5,gradle版本4.0.0。

1、到微信開發平台申請創建應用,申請通過後獲得appId,appSecret;
2、到MobTech平台創建應用,獲得appKey,appSecret;

按照官方文檔步驟對接即可;

1、launcherTemplate.gradle文件,把需要的各平台的appId和appSecret寫在裡面,在ShareSDKDevInfo.cs裡面更改是無效的。
以微信平台為例:

2、如果微信應用正在申請,測試可使用Mob官方demo進行測試:
demo應用包名:cn.sharesdk.demo;

demokey.keystore密鑰密碼和別名密碼,均為123456;

demo應用,Mob的appKey:moba0b0c0d0,appSecret:;

demo應用,微信的appId:wx4868b35061f87885,appSecret:;

3、不需要的平台,可以在ShareSDKDevInfo.cs里的DevInfoSet中注釋掉;

1、場景中掛載ShareSDK.cs和MobSDK.cs;
2、使用前,必須要提交ShareSDK隱私協議的授權介面:

3、微信登錄,使用ShareSDK的獲取用戶信息介面即可(只會在第一次跳轉到第三方平台進行授權),返回結果包含openId,unionId,nickName等信息:

4、微信分享:

閱讀全文

與安卓開發微信分享相關的資料

熱點內容
百度網盤怎麼同步文件夾嗎 瀏覽:937
移動app為什麼沒有吉利卡 瀏覽:629
網站文字模板 瀏覽:356
單片機測電壓怎麼編程 瀏覽:880
APP怎麼認證磁條 瀏覽:48
repeaterjs選中行 瀏覽:808
法律研究工作室微信公眾號查詢 瀏覽:309
開物流網站多少錢 瀏覽:440
6s用哪個版本好 瀏覽:324
數控編程怎麼來的 瀏覽:103
廣西廣電網路的默認ip 瀏覽:191
政府發紅頭文件內容會實現嗎 瀏覽:552
騰訊貴安七星數據中心英文怎麼寫 瀏覽:489
玩火的女孩有幾個版本 瀏覽:113
tvshowtracker安卓版 瀏覽:983
App數據分析應該從哪些緯度 瀏覽:17
到底要不要升級ios92 瀏覽:875
cad2014安裝包安裝文件在哪裡 瀏覽:63
電信密碼無法登錄 瀏覽:820
cad的列印到文件怎麼設置 瀏覽:902

友情鏈接