當前位置:編程學習大全網 - 源碼下載 - android 上通過微信分享怎麽實現

android 上通過微信分享怎麽實現

壹、獲取幫助文檔並下載相關資料

首先打開微信開放平臺:/ 如果沒有註冊,請先註冊並上傳開發者資料等待審核。

資源中心----移動應用開發----分享與收藏功能----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

  • 上一篇:Vue.JS的自定義指令應該如何使用
  • 下一篇:SONAR X3 打不開 求解!
  • copyright 2024編程學習大全網