微信分享至朋友圈和朋友接口

本文详细介绍了如何将微信SDK集成至Android应用,并通过工具类实现消息分享至朋友圈的功能。包括下载SDK、配置API、注册到微信以及解决签名问题等步骤。分享成功案例展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先参考的是官方的教程和Dome :  https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=1417751808&token=&lang=zh_CN

下载demo 将微信SDK libammsdk.jar 加入到工程中
1. 主要的代码文件:
  
package net.sourceforge.simcpux;
 
import android.content.Context;
import com.tencent.mm.sdk.openapi.*;
 
/**
* Created by Administrator on 2015/6/19.
*/
public class WeiXinUtil {
private Context mContext;
public static final String APP_ID = "wxd930ea5d5a258f4f";
 
public WeiXinUtil(Context context) {
this.mContext = context;
}
// IWXAPI 是第三方app和微信通信的openapi接口
private IWXAPI api;
 
public void sendMessageToWX(String sendMessage) {
regToWx();
if (api == null || sendMessage == null || sendMessage.length() == 0) {
return;
}
 
// 初始化一个WXTextObject对象
WXTextObject textObj = new WXTextObject();
textObj.text = sendMessage;
 
// 用WXTextObject对象初始化一个WXMediaMessage对象
WXMediaMessage msg = new WXMediaMessage(textObj);
msg.mediaObject = textObj;
// 发送文本类型的消息时,title字段不起作用
msg.description = sendMessage;
 
// 构造一个Req
SendMessageToWX.Req req = new SendMessageToWX.Req();
req.transaction = String.valueOf(System.currentTimeMillis());
req.message = msg;
req.scene = SendMessageToWX.Req.WXSceneTimeline; // 分享至朋友圈
// req.scene = SendMessageToWX.Req.WXSceneSession; // 发送给好友
 
api.sendReq(req);
}
 
/**
* 将app 注册到微信
*/
private void regToWx() {
// 通过WXAPIFactory工厂,获取IWXAPI的实例
api = WXAPIFactory.createWXAPI(mContext, APP_ID, false);
// 将该app注册到微信
api.registerApp(APP_ID);
}
}
简单的分享至朋友圈和朋友的工具类就写好了,只要调用 sendMessageToWX方法就行了。
2. 简单的调用此工具类
2.1 main.xml 文件
   
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="send"
/>
</LinearLayout>
2.2  WXEntryActivity.java 文件代码
   
package net.sourceforge.simcpux;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
 
public class WXEntryActivity extends Activity {
 
private Button sendBtn;
 
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
 
sendBtn = (Button) findViewById(R.id.button);
sendBtn.setOnClickListener(new View.OnClickListener() {
 
@Override
public void onClick(View v) {
String text = "send message";
new WeiXinUtil(WXEntryActivity.this).sendMessageToWX(text);
}
});
}
}

到了这里你运行后可能会有一个异常, 无法进入微信界面,微信发送被拒绝。原因是在微信开发平台6.0之后,签名问题导致的。因为我是直接运行的包,所以用的是debug签名。
3. 问题解决办法:
               使用 微信SDK Sample Demo源码 中的APP_ID =  "wxd930ea5d5a258f4f"   同时使用微信SDK Sample Demo源码中的debug.keystore 。

加入debug.keystore步骤如下:
    1. 在 Custom debug keystone 中选择 微信SDK Sample Demo源码 中的debug.keystore 。加入我的Dome中的keystore也是一样的。我用的是intellij idea:  如下图所示:在project structure -> facets -> 你的工程 -> packaging ->  Custom debug keystone  


eclipse 的话在WIndows -> Preferences -> android -> build ->    Custom debug keystone


到此问题解决。
最后可以看到分享成功

               

结束,其他的分享完全可以按照官方的Demo来写。如有什么问题欢迎找茬!


代码下载地址:  点击打开链接


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值