一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Android - Android將內容分享到QQ和微信實例代碼

Android將內容分享到QQ和微信實例代碼

2022-03-03 14:59Android教程網 Android

這篇文章主要介紹了Android將內容分享到QQ和微信實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

具體代碼如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
package dmpte.sharewechat;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.provider.MediaStore;
import android.widget.Toast;
import java.util.List;
/**
 * Created by Administrator on 2018/6/25.
 */
public class AndroidShare {
  /**
   * 上下文
   */
  private Context context;
  /**
   * 文本類型
   *
   */
  public static int TEXT = 0;
  /**
   * 圖片類型
   */
  public static int DRAWABLE = 1;
  public AndroidShare(Context context) {
    this.context = context;
  }
  /**
   * 分享到QQ好友
   *
   * @param msgTitle
   *      (分享標題)
   * @param msgText
   *      (分享內容)
   * @param type
   *      (分享類型)
   * @param drawable
   *      (分享圖片,若分享類型為AndroidShare.TEXT,則可以為null)
   */
  public void shareQQFriend(String msgTitle, String msgText, int type,
               Bitmap drawable) {
    shareMsg("com.tencent.mobileqq",
        "com.tencent.mobileqq.activity.JumpActivity", "QQ", msgTitle,
        msgText, type, drawable);
  }
  /**
   * 分享到微信好友
   *
   * @param msgTitle
   *      (分享標題)
   * @param msgText
   *      (分享內容)
   * @param type
   *      (分享類型)
   * @param drawable
   *      (分享圖片,若分享類型為AndroidShare.TEXT,則可以為null)
   */
  public void shareWeChatFriend(String msgTitle, String msgText, int type,
                 Bitmap drawable) {
    shareMsg("com.tencent.mm", "com.tencent.mm.ui.tools.ShareImgUI", "微信",
        msgTitle, msgText, type, drawable);
  }
  /**
   * 分享到微信朋友圈(分享朋友圈一定需要圖片)
   *
   * @param msgTitle
   *      (分享標題)
   * @param msgText
   *      (分享內容)
   * @param drawable
   *      (分享圖片)
   */
  public void shareWeChatFriendCircle(String msgTitle, String msgText,
                    Bitmap drawable) {
    shareMsg("com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI",
        "微信", msgTitle, msgText, AndroidShare.DRAWABLE, drawable);
  }
  /**
   * 點擊分享的代碼
   *
   * @param packageName
   *      (包名,跳轉的應用的包名)
   * @param activityName
   *      (類名,跳轉的頁面名稱)
   * @param appname
   *      (應用名,跳轉到的應用名稱)
   * @param msgTitle
   *      (標題)
   * @param msgText
   *      (內容)
   * @param type
   *      (發送類型:text or pic 微信朋友圈只支持pic)
   */
  @SuppressLint("NewApi")
  private void shareMsg(String packageName, String activityName,
             String appname, String msgTitle, String msgText, int type,
             Bitmap drawable) {
    if (!packageName.isEmpty() && !isAvilible(context, packageName)) {// 判斷APP是否存在
      Toast.makeText(context, "請先安裝" + appname, Toast.LENGTH_SHORT)
          .show();
      return;
    }
    Intent intent = new Intent("android.intent.action.SEND");
    if (type == AndroidShare.TEXT) {
      intent.setType("text/plain");
    } else if (type == AndroidShare.DRAWABLE) {
      intent.setType("image/*");
//     BitmapDrawable bd = (BitmapDrawable) drawable;
//     Bitmap bt = bd.getBitmap();
      final Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(
          context.getContentResolver(), drawable, null, null));
      intent.putExtra(Intent.EXTRA_STREAM, uri);
    }
    intent.putExtra(Intent.EXTRA_SUBJECT, msgTitle);
    intent.putExtra(Intent.EXTRA_TEXT, msgText);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    if (!packageName.isEmpty()) {
      intent.setComponent(new ComponentName(packageName, activityName));
      context.startActivity(intent);
    } else {
      context.startActivity(Intent.createChooser(intent, msgTitle));
    }
  }
  /**
   * 判斷相對應的APP是否存在
   *
   * @param context
   * @param packageName
   * @return
   */
  public boolean isAvilible(Context context, String packageName) {
    PackageManager packageManager = context.getPackageManager();
    List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);
    for (int i = 0; i < pinfo.size(); i++) {
      if (((PackageInfo) pinfo.get(i)).packageName
          .equalsIgnoreCase(packageName))
        return true;
    }
    return false;
  }
  /**
   * 指定分享到qq
   * @param context
   * @param bitmap
   */
  public void sharedQQ(Activity context, Bitmap bitmap){
    Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(
        context.getContentResolver(), BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher), null, null));
    Intent imageIntent = new Intent(Intent.ACTION_SEND);
    imageIntent.setPackage("com.tencent.mobileqq");
    imageIntent.setType("image/*");
    imageIntent.putExtra(Intent.EXTRA_STREAM, uri);
    imageIntent.putExtra(Intent.EXTRA_TEXT,"您的好友邀請您進入天好圈");
    imageIntent.putExtra(Intent.EXTRA_TITLE,"天好圈");
    context.startActivity(imageIntent);
  }
}

然后是使用

?
1
2
3
4
5
6
7
8
9
public void shareQQ(View view) {
    AndroidShare androidShare = new AndroidShare(this);
    androidShare.shareQQFriend("這是標題", "這是內容", AndroidShare.TEXT, null);
  }
 
  public void shareWechat(View view) {
    AndroidShare androidShare = new AndroidShare(this);
    androidShare.shareWeChatFriend("這是標題", "這是內容", AndroidShare.TEXT, null);
  }

就是這么簡單

總結

以上所述是小編給大家介紹的Android將內容分享到QQ和微信實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲国产自 | 国产趴着打光屁股sp抽打 | 国产卡一卡二卡三卡四 | 亚洲va久久久久综合 | 九九热视频免费 | 国内精品露脸在线视频播放 | 黄蓉h系列 | 青青草国产免费国产是公开 | 国产麻豆麻豆 | jiizz亚洲护士厕所 | 国产色拍 | 久久久免费观成人影院 | 欧美艳星julnaann| 欧美亚洲天堂网 | 丝袜捆绑调教视频免费区 | 精品国产免费一区二区三区 | 国产小视频在线免费 | 日本欧美大码a在线视频播放 | 无码射肉在线播放视频 | 国产综合成人亚洲区 | 果冻传媒在线免费观看 | 美女视频在线观看视频 | 国产精品视频免费一区二区三区 | 91在线老师啪国自产 | 免费一区二区 | 亚洲国产免费观看视频 | 精品国产日韩亚洲一区在线 | 从后面撕开老师的丝袜动态图 | 国产亚洲精品激情一区二区三区 | 扒开老师挠尿口到崩溃刑罚 | 久久性生大片免费观看性 | 亚洲精品视频久久 | 操儿子 | 91免费播放人人爽人人快乐 | 男人j桶进女人p桶爽 | 免费看黄色片网站 | 成人久久18网站 | 免费看美女被靠到爽 | 美女舒服好紧太爽了视频 | 99久久精品免费看国产情侣 | chinese东北痞子gay |