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

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

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和微信實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99国内精品 | 亚洲天天综合 | 国产伦码精品一区二区三区 | 国产精品成人免费观看 | 日韩毛片大全免费高清 | yy3341殇情影院理论片 | 白丝爆动漫羞羞动漫软件 | 香蕉久草| 视频二区 素人 欧美 日韩 | 日本xxxx18vr69 | 香蕉久久久久久狠狠色 | 青青草国产精品久久久久 | 国产成人v爽在线免播放观看 | 小泽玛丽av无码观看 | 免费一看一级毛片人 | a∨在线观看 | 韩国禁片在线观看久 | 羞羞漫画免费漫画页面在线看漫画秋蝉 | 忘忧草高清| 成人网久久 | 3d蒂法受辱在线播放 | 亚洲国产在线视频精品 | 精品suv一区二区三区 | 亚洲第一色视频 | 精品成人一区二区三区免费视频 | 韩国三级2020 | 欧美亚洲国产另类 | 九九99热久久精品在线6 | 色淫阁小说 | 欧美日韩国产亚洲一区二区三区 | melody中文字幕 | 女女宿舍互慰h文小说 | 亚洲日本视频在线 | 99久久精品免费看国产一区二区 | 麻豆小视频在线观看 | jizz漫画| 俄罗斯毛片免费大全 | 日日碰日日操 | 免费在线视频一区 | 美女被吸乳老师羞羞漫画 | 欧美午夜精品久久久久久黑人 |