android 上通过微信分享怎么实现

如题所述

第1个回答  2015-08-31
一、获取帮助文档并下载相关资料
首先打开微信开放平台:https://open.weixin.qq.com/ 如果没有注册,请先注册并上传开发者资料等待审核。
资源中心----移动应用开发----分享与收藏功能----Android开发手册
开发手册链接地址:https://open.weixin.qq.com/zh_CN/htmledition/res/dev/document/sdk/android/index.html
资源中心----移动应用开发----接入指南---Android接入指南(下面我们主要参考这个)

二、接入微信分享功能
1、申请AppID
如何现在没有AppID可以先下载官方的Demo使用Demo中的AppID即可。
SDK和Demo下载地址:https://open.weixin.qq.com/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在里面放置一个按钮<喎�"http://www.2cto.com/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="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/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

http://www.2cto.com/kf/201410/346762.html本回答被提问者和网友采纳
第2个回答  2015-08-31
第三方sdk

android 微信分享链接怎么弄
1、eclipse编译使用的Custom keystore处, 修改为自己的keystore 路径 (非默认的debug keystore)2、在微信开放平台官网注册你的应用,提交审核,注意 要填入你的keystore 产生的 签名,(此签名获取方法:用 自己的keystore 签名你的应用,装入手机,再安装 官网的 genSignature.apk,运行,输入你的应...

android app怎样实现微信分享
1.该类型的分享(具体请参考微信分享SDK)可以带几个参数,参数中必须附带一些构造跳转Intent的数据。2.好友点击分享的内容,回调IWXAPIEventHandler接口的类的onReq方法,具体为 ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:这种情况才会调用,此时可以取出分享时附带在参数中的一些数据,构造一个跳转Intent,调用s...

android版微信分享一定要审核通过才能分享吗?
用微信sdk的话是需要通过审核才能分享的,不用SDK可以通过intent也能实现类似分享功能Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("image\/*");\/\/分享发送的数据类型 intent.putExtra(Intent.EXTRA_SUBJECT, "主题");\/\/分享的主题 intent.putExtra(Intent.EXTRA_TEXT, "分享内容"...

用 微信的 android SDK 怎么分享信息 到微信
[1] 注册到微信 要使你的程序启动后微信终端能响应你的程序,必须在代码中向微信终端注册你的id。(如下图所示,可以在程序入口Activity的onCreate回调函数处,或其他合适的地方将你的应用id注册到微信。注册函数示例如下图所示。[2] 发送请求或响应到微信 现在,你的程序要发送请求或发送响应到微信终...

利用Android 系统原生 API 实现分享功能(2)
通过 File Path 转成 Uri 的方式,我们最终统一了调用系统分享时传入内容 Uri 的三种不同场景,最终全部转换为传递系统返回的 Uri,让第三方应用能够正常的获取到分享内容。Share2 按照上述方法进行了具体实施,可以通过下面的方式进行集成:分享图片到指定界面,比如分享到微信朋友圈 GitHub 项目地址:Share...

android软件开发我想实现微信分享到朋友圈显示出标题的功能的代码_百度...
微信和朋友圈的分享有区别,有几个参数,标题,内容,图片,url地址,微信好友分享会显示标题和内容,图片,点击之后跳转URL地址,朋友圈分享会显示内容,图片,点击之后跳转URL地址

android 怎么取消微信分享自带的分享对话框
在微信分享中主要碰到了如下问题:第一次可以分享,以后就无法调用出分享对话框。这不是程序问题,而是需要提交审核,只有审核通过,才可以调出分享对话框。不相信?那你可以先将微信退出,再试着点击分享,这时就会弹出登录对话款,登完之后也没有分享对话框,完全没你啥事了。另外android版微信分享开发时...

请教,微信小视频是怎么实现的,android版
特别是卖服饰累的。小编编写的软件微oo还可以批量下载图片,自动转发到自己的朋友圈,支持文字修改 再说如何安装软件,获取安装连接后直接下载安装,软件自带一个微信多开,打开微信1,登录,打开朋友圈后就可以转发两个字了 5 软件编写非常麻烦,也给大家带来很多方便,希望大家多多支持,多多赞 ...

微信朋友圈怎么同时分享 Android版
朋友圈可以同时分享到此微信绑定的QQ空间 但是 不能实现多个朋友圈同时分享一个内容 除非一个发了 之后另外的号再复制

微信怎么群发教程
首先,确保你的手机已安装微信,版本为8.0.27,比如vivo Xplay3S上运行的是Android 4.3系统。接下来,按照以下步骤进行:打开手机上的微信应用,进入到主界面。在底部导航栏中,找到并点击"我"选项,进入个人设置界面。在个人设置里,滑动找到并点击"设置"选项。在设置菜单中,选择"通用"选项。在通用...

相似回答