溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在android中實現(xiàn)分享純圖片到QQ空間

發(fā)布時間:2022-04-19 11:08:53 來源:億速云 閱讀:226 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“如何在android中實現(xiàn)分享純圖片到QQ空間”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“如何在android中實現(xiàn)分享純圖片到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.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官司方文

(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");//QQ
  context.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); //要向騰訊平臺申請appid
  Bundle 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);
}

到此,相信大家對“如何在android中實現(xiàn)分享純圖片到QQ空間”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI