android 分享纯图片到QQ空间实现方式
最新開發(fā)新項(xiàng)目的時(shí)候,要做分享項(xiàng)目,要求分享有微信,微信朋友圈,QQ,QQ空間,新浪微博這五個(gè),所分享內(nèi)容包括,分享純圖片,純文字,圖文類型等,要求分享出去的內(nèi)容不能帶有當(dāng)前app的logo,而無論使用微信分享sdk,還是qq分享sdk,圖文類型的分享都會(huì)帶有當(dāng)前app的logo和名稱,所以筆者最終只能使用android原生實(shí)現(xiàn)分享功能了。
一..分享微信,分享微信單獨(dú)分享一張圖片時(shí),可以使用原生分享,也可以使用微信分享sdk,sdk實(shí)現(xiàn)方式,筆者不再多述,網(wǎng)上太多,可以看官方說明:
? ? ? ? (1)? 微信分享sdk:? https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419317340&token=&lang=zh_CN
? ? ? ? (2) 微信好友分享原生實(shí)現(xiàn):
? ? ? ? ? ?
public static void sharedToWx(Context context,Uri uri,String filePath) {if(sendMsg == null) return;Intent intent = new Intent(Intent.ACTION_SEND);if (!(context instanceof Activity)) {intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);}//intent.setType("text/plain"); //文本分享intent.setType("image/*");if(uri != null){intent.putExtra(Intent.EXTRA_STREAM, uri);}else{intent.putExtra(Intent.EXTRA_STREAM, filePath);}intent.setPackage("com.tencent.mm");intent.setClassName("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI");//微信context.startActivity(intent);}? ? ? ? (3)微信朋友圈原生分享
? ? ? ? ? ??
? ? ??
注意:微信sdk分享圖文分享方式,圖片+文本大小不能超過32KB,超過32KB就不能分享。 二.分享qq與qq空間? ? 注意:qq分享支持原生分享也支持sdk分享,qq空間由于qq空間頁面activity不對(duì)外開放,所以qq空間分享只支持sdk分享,不支持原生qq空間分享,而且qq空間分享早期支? ?持純圖片分享,但是google從android4.0開始,關(guān)閉對(duì)apn權(quán)限的自動(dòng)獲取,如果再使用qq分享sdk往qq空間分享純圖片就會(huì)拋出no permission to write apn setting或者分享 失敗。
? ?(1)qq分享sdk官司方文檔: http://wiki.open.qq.com/wiki/%E5%88%86%E4%BA%AB%E6%B6%88%E6%81%AF%E5%88%B0QQ%EF%BC%88%E5%AE%9A%E5%90%91%E5%88%86%E4%BA%AB%EF%BC%89
? ? ?(2)QQ分享原生實(shí)現(xiàn)
public static void sharedToWx(Context context,Uri uri,String filePath) {if(sendMsg == null) return;Intent intent = new Intent(Intent.ACTION_SEND);if (!(context instanceof Activity)) {intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);}//intent.setType("text/plain"); //文本分享intent.setType("image/*");if(uri != null){intent.putExtra(Intent.EXTRA_STREAM, uri);}else{intent.putExtra(Intent.EXTRA_STREAM, filePath);}intent.setPackage("com.tencent.mobileqq");intent.setClassName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity");//QQcontext.startActivity(intent); } ? ? ? ? (3)利用qq分享sdk直接向qq空間分享純圖片? ? ? ? ? ? ? ? 備注重點(diǎn):要向qq空間分享純圖片,分享sdk其實(shí)是不支持純圖片分享的,但是可以使用向qq分享純圖片,設(shè)置自動(dòng)打開qq空間,這樣會(huì)彈出框分享純圖片,很大幾? ? ? ? ? ? ? ? ? 率會(huì)分享成功,圖片不易過大,過大分享成功的可能性就降低了。
綜上:如果有同學(xué)對(duì)分享純圖片到qq空間有好的方法,感謝分享出來哈,筆者也是被坑了N次后,才找到這么個(gè)有一定失敗率的分享方式。
? ? ? ??
總結(jié)
以上是生活随笔為你收集整理的android 分享纯图片到QQ空间实现方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于RTX51-Tiny,一种适用于51
- 下一篇: 转转“负重”难前行