日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 分享纯图片到QQ空间实现方式

發(fā)布時間:2023/12/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 分享纯图片到QQ空间实现方式 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最新開發(fā)新項目的時候,要做分享項目,要求分享有微信,微信朋友圈,QQ,QQ空間,新浪微博這五個,所分享內(nèi)容包括,分享純圖片,純文字,圖文類型等,要求分享出去的內(nèi)容不能帶有當(dāng)前app的logo,而無論使用微信分享sdk,還是qq分享sdk,圖文類型的分享都會帶有當(dāng)前app的logo和名稱,所以筆者最終只能使用android原生實現(xiàn)分享功能了。


一..分享微信,分享微信單獨分享一張圖片時,可以使用原生分享,也可以使用微信分享sdk,sdk實現(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) 微信好友分享原生實現(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)微信朋友圈原生分享


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.ShareToTimeLineUI");//微信朋友圈context.startActivity(intent); }

? ? ? ? ? ??

? ? ??

注意:微信sdk分享圖文分享方式,圖片+文本大小不能超過32KB,超過32KB就不能分享。 二.分享qq與qq空間

? ? 注意:qq分享支持原生分享也支持sdk分享,qq空間由于qq空間頁面activity不對外開放,所以qq空間分享只支持sdk分享,不支持原生qq空間分享,而且qq空間分享早期支? ?持純圖片分享,但是google從android4.0開始,關(guān)閉對apn權(quán)限的自動獲取,如果再使用qq分享sdk往qq空間分享純圖片就會拋出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分享原生實現(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空間分享純圖片

? ? ? ? ? ? ? ? 備注重點:要向qq空間分享純圖片,分享sdk其實是不支持純圖片分享的,但是可以使用向qq分享純圖片,設(shè)置自動打開qq空間,這樣會彈出框分享純圖片,很大幾? ? ? ? ? ? ? ? ? 率會分享成功,圖片不易過大,過大分享成功的可能性就降低了。

public static void shareToQQZoneImg(String localImgUrl){if(TextUtils.isEmpty(localImgUrl) || shareBean == null) return;Tencent tencent = Tencent.createInstance("QQ_APP_ID", ApplicatonContext); //要向騰訊平臺申請appidBundle bundle = new Bundle();bundle.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_IMAGE); //注意,要向qq空間分享純圖片,只能傳這三個參數(shù),不能傳其他的bundle.putString(QQShare.SHARE_TO_QQ_IMAGE_LOCAL_URL,localImgUrl); //localImgUrl必須是本地手機圖片地址bundle.putInt(QQShare.SHARE_TO_QQ_EXT_INT, QQShare.SHARE_TO_QQ_FLAG_QZONE_AUTO_OPEN);tencent.shareToQQ(Activity, bundle, ShareListener);}

綜上:如果有同學(xué)對分享純圖片到qq空間有好的方法,感謝分享出來哈,筆者也是被坑了N次后,才找到這么個有一定失敗率的分享方式。

? ? ? ??


總結(jié)

以上是生活随笔為你收集整理的android 分享纯图片到QQ空间实现方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。