因為最近剛剛進入新公司,還在熟悉業務中,所以帶我的師傅讓我關注關注Android的非SDK式的分享,也就是所謂的呼叫系統分享,不需要去申請appkey什麼,簡單方便,因此也跟我提了一個需求,就是直接調起具體的分享頁,比如說如果分享到新浪微博,則不需要再點選微博進入,而是直接進入微博的具體分享頁。為什麼需要呼叫系統的分享,因為單純的sdk分享並不支援多圖模式的分享。
首先,我們得了解常用的分享平臺,微信、微信朋友圈、新浪微博、QQ和QQ空間,這五個是最基本也是最常用的分享平臺,我們也在這五個上面進行分享的操作。
另外,我們也給自己提一個需求,簡單點就是在某個資料夾下面遍歷裡面的圖片,然後將這些圖片分享到各大平臺。所以我們先找到一個存放圖片的路徑,MainActivity中的onCreate()方法中定義
找到路徑之後,我們需要對這個目錄進行遍歷操作
新建一個ShareUtils的工具類,裡面封裝了分享的方法
廢話少說,先看程式碼
微信分享
關注ComponentName這裡面的兩個引數,第一個引數是微信的包名,另一個是跳轉到具體分享頁的類路徑。
接下來是QQ的分享
QQ Zone的分享
新浪微博的分享
這些程式碼都是大同小異,只要關注包名和類名就行,新浪微博比較特殊,之前也是設定類名和包名的,但是發現沒有用,後來直接通過設定包名,發現成功了,估計新浪為了安全考慮,就隱藏了跳轉具體類的用法
Tips:當你找不到這些具體類的時候,可以下一個淘寶聯盟,然後通過Android studio抓取系統日誌,下面附上具體跳轉的類名和各應用的包名,另外網上很多東西都過時了,不如自己抓取看看來的放心,可以少走很多彎路。
新浪微博包名:com.sina.weibo
微信:com.tencent.mm 跳轉類:com.tencent.mm.ui.tools.ShareImgUI
QQ:com.tencent.mobileqq ; 跳轉類:com.tencent.mobileqq.activity.JumpActivity
QQ Zone :com.qzone ; 跳轉類: com.qzonex.module.operation.ui.QZonePublishMoodActivity