因?yàn)樽罱鼊倓傔M(jìn)入新公司嗓化,還在熟悉業(yè)務(wù)中,所以帶我的師傅讓我關(guān)注關(guān)注Android的非SDK式的分享谦炬,也就是所謂的調(diào)用系統(tǒng)分享,不需要去申請(qǐng)appkey什么节沦,簡(jiǎn)單方便键思,因此也跟我提了一個(gè)需求,就是直接調(diào)起具體的分享頁(yè)甫贯,比如說(shuō)如果分享到新浪微博吼鳞,則不需要再點(diǎn)擊微博進(jìn)入,而是直接進(jìn)入微博的具體分享頁(yè)叫搁。為什么需要調(diào)用系統(tǒng)的分享赔桌,因?yàn)閱渭兊膕dk分享并不支持多圖模式的分享。
首先常熙,我們得了解常用的分享平臺(tái)纬乍,微信、微信朋友圈裸卫、新浪微博仿贬、QQ和QQ空間,這五個(gè)是最基本也是最常用的分享平臺(tái)墓贿,我們也在這五個(gè)上面進(jìn)行分享的操作茧泪。
另外蜓氨,我們也給自己提一個(gè)需求,簡(jiǎn)單點(diǎn)就是在某個(gè)文件夾下面遍歷里面的圖片队伟,然后將這些圖片分享到各大平臺(tái)穴吹。所以我們先找到一個(gè)存放圖片的路徑,MainActivity中的onCreate()方法中定義
找到路徑之后嗜侮,我們需要對(duì)這個(gè)目錄進(jìn)行遍歷操作
新建一個(gè)ShareUtils的工具類港令,里面封裝了分享的方法
廢話少說(shuō),先看代碼
微信分享
關(guān)注ComponentName這里面的兩個(gè)參數(shù)锈颗,第一個(gè)參數(shù)是微信的包名顷霹,另一個(gè)是跳轉(zhuǎn)到具體分享頁(yè)的類路徑。
接下來(lái)是QQ的分享
QQ Zone的分享
新浪微博的分享
這些代碼都是大同小異击吱,只要關(guān)注包名和類名就行淋淀,新浪微博比較特殊,之前也是設(shè)置類名和包名的覆醇,但是發(fā)現(xiàn)沒(méi)有用朵纷,后來(lái)直接通過(guò)設(shè)置包名,發(fā)現(xiàn)成功了永脓,估計(jì)新浪為了安全考慮袍辞,就隱藏了跳轉(zhuǎn)具體類的用法
Tips:當(dāng)你找不到這些具體類的時(shí)候,可以下一個(gè)淘寶聯(lián)盟憨奸,然后通過(guò)Android studio抓取系統(tǒng)日志,下面附上具體跳轉(zhuǎn)的類名和各應(yīng)用的包名革屠,另外網(wǎng)上很多東西都過(guò)時(shí)了,不如自己抓取看看來(lái)的放心排宰,可以少走很多彎路。
新浪微博包名:com.sina.weibo
微信:com.tencent.mm? 跳轉(zhuǎn)類:com.tencent.mm.ui.tools.ShareImgUI
QQ:com.tencent.mobileqq? ; 跳轉(zhuǎn)類:com.tencent.mobileqq.activity.JumpActivity
QQ Zone :com.qzone ; 跳轉(zhuǎn)類: com.qzonex.module.operation.ui.QZonePublishMoodActivity