首先打開微信開放平臺:/ 如果沒有註冊,請先註冊並上傳開發者資料等待審核。
資源中心----移動應用開發----分享與收藏功能----Android開發手冊
開發手冊鏈接地址:/zh_CN/htmledition/res/dev/document/sdk/android/index.html
資源中心----移動應用開發----接入指南---Android接入指南(下面我們主要參考這個)
二、接入微信分享功能
1、申請AppID
如何現在沒有AppID可以先下載官方的Demo使用Demo中的AppID即可。
SDK和Demo下載地址:/cgi-bin/frame?t=resource/res_main_tmpl&verify=1&lang=zh_CN&target=res/app_download_android
開發工具包(SDK)
使用微信分享、登錄、收藏、支付等功能需要的庫以及文件。點擊下載 Android開發工具包
使用微信語音識別接口、語音合成接口。點擊下載 語音SDK+Demo+開發文檔
使用微信圖像識別接口。點擊下載 圖像SDK+Demo+開發文檔
使用微信卡券功能接口。點擊下載 卡券SDK+開發文檔
範例代碼
包含了壹個完整的範例工程。該範例的使用可以參閱Android平臺上手指南:HelloWeixin@Android。點擊下載
簽名生成工具
用於獲取安裝到手機的第三方應用簽名的apk包。點擊下載 簽名生成工具下載完成後我們可以參考壹下Demo來集成。
2、下載微信開發工具包(在上面已經下載)
3、開始搭建開發環境然後將libammsdk.jar文件拷貝到工程lib目錄下。
註意:如果使用的是Demo中的AppID則包名壹定要先和Demo的包名壹致,否則分享會出錯。
4、新建壹個Activity在裏面放置壹個按鈕<喎?"/kf/ware/vc/" target="_blank" class="keylink">vcD48cD48cHJlIGNsYXNzPQ=="brush:java;">package net.sourceforge.simcpux; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import com.example.weixinsharedemo.share.WeixinShareManager; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button) findViewById(R.id.share_weibo); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { WeixinShareManager wsm = WeixinShareManager.getInstance(MainActivity.this); wsm.shareByWeixin(wsm.new ShareContentPic(R.drawable.ic_launcher), WeixinShareManager.WEIXIN_SHARE_TYPE_TALK); } }); } }
1
2
3
4
5
<relativelayout xmlns:android="/apk/res/android" xmlns:tools="/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<button android:id="@+id/share_weibo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="分享到微信"/>
</button></relativelayout>
4、開始創建我們的分享邏輯類並實現需要的分享功能
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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
package com.example.weixinsharedemo.share;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.widget.Toast;
import com.example.weixinsharedemo.util.WeixiShareUtil;
import com.tencent.mm.sdk.modelmsg.SendMessageToWX;
import com.tencent.mm.sdk.modelmsg.WXImageObject;
import com.tencent.mm.sdk.modelmsg.WXMediaMessage;
import com.tencent.mm.sdk.modelmsg.WXTextObject;
import com.tencent.mm.sdk.modelmsg.WXWebpageObject;
import com.tencent.mm.sdk.openapi.IWXAPI;
import com.tencent.mm.sdk.openapi.WXAPIFactory;
/**
* 實現微信分享功能的核心類
* @author Administrator
*
*/
public class WeixinShareManager{
private static final int THUMB_SIZE = 150;
/**
* 文字
*/
public static final int WEIXIN_SHARE_WAY_TEXT = 1;
/**
* 圖片
*/
public static final int WEIXIN_SHARE_WAY_PIC = 2;
/**
* 鏈接
*/
public static final int WEIXIN_SHARE_WAY_WEBPAGE = 3;
/**
* 會話
*/
public static final int WEIXIN_SHARE_TYPE_TALK = SendMessageToWX.Req.WXSceneSession;
/**
* 朋友圈
*/
public static final int WEIXIN_SHARE_TYPE_FRENDS = SendMessageToWX.Req.WXSceneTimeline;
private static WeixinShareManager instance;
private static String weixinAppId;
private IWXAPI wxApi;
private Context context;
private WeixinShareManager(Context context){
this.context = context;
//初始化數據
weixinAppId = WeixiShareUtil.getWeixinAppId(context);
//初始化微信分享代碼
if(weixinAppId != null){
initWeixinShare(context);
}
}
/**
* 獲取WeixinShareManager實例
* 非線程安全,請在UI線程中操作
* @return
*/
public static WeixinShareManager getInstance(Context context){
if(instance == null){
instance = new WeixinShareManager(context);
}
return instance;
}
private void initWeixinShare(Context context){
wxApi = WXAPIFactory.createWXAPI(context, weixinAppId, true);
wxApi.registerApp(weixinAppId);
}
/**
* 通過微信分享
* @param shareWay 分享的方式(文本、圖片、鏈接)
* @param shareType 分享的類型(朋友圈,會話)
*/
public void shareByWeixin(ShareContent shareContent, int shareType){
switch (shareContent.getShareWay()) {
case WEIXIN_SHARE_WAY_TEXT:
shareText(shareType, shareContent);
break;
case WEIXIN_SHARE_WAY_PIC:
sharePicture(shareType, shareContent);
break;
case WEIXIN_SHARE_WAY_WEBPAGE:
shareWebPage(shareType, shareContent);
break;
}
}
private abstract class ShareContent{
protected abstract int getShareWay();
protected abstract String getContent();
protected abstract String getTitle();
protected abstract String getURL();
protected abstract int getPicResource();
}
/**
* 設置分享文字的內容
* @author Administrator
*
*/
public class ShareContentText extends ShareContent{
private String content;
/**
* 構造分享文字類
* @param text 分享的文字內容
*/
public ShareContentText(String content){
this.content = content;
}
@Override
protected String getContent() {
return content;
}
@Override
protected String getTitle() {
return null;
}
@Override
protected String getURL() {
return null;
}
@Override
protected int getPicResource() {
return -1;
}
@Override
protected int getShareWay() {
return WEIXIN_SHARE_WAY_TEXT;
}
}
/**
* 設置分享圖片的內容
* @author Administrator
*
*/
public class ShareContentPic extends ShareContent{
private int picResource;
public ShareContentPic(int picResource){
this.picResource = picResource;
}
@Override
protected String getContent() {
return null;
}
@Override
/kf/201410/346762.html