1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 微信分享至朋友圈和朋友接口

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

时间:2021-02-24 06:22:24

相关推荐

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

首先参考的是官方的教程和Dome :https://open./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 /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;// 构造一个ReqSendMessageToWX.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="/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><Buttonandroid:id="@+id/button"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="send"/></LinearLayout>

2.2WXEntryActivity.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;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);sendBtn = (Button) findViewById(R.id.button);sendBtn.setOnClickListener(new View.OnClickListener() {@Overridepublic 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来写。如有什么问题欢迎找茬!

签名问题参考文档:/forum.php?mod=viewthread&tid=7768&extra=page%3d1%26filter%3dtypeid%26typeid%3d12%26digest%3d1%26specialtype%3dreward

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。