android分享之微信分享
首先要到微信开放平台申请申请你的AppID,申请地址:http://open.weixin.qq.com/?lang=zh_CN
点击注册(图1)
输入你的QQ号和密码(图2)
点击登记我的应用(图3)
填写应用名称(图4)
点击下一步即可看到自己的AppId和AppKey
AppID 与 AppKey 是你的应用与微信通信的标识。 每个应用都对应一个唯一的AppID。
假如你对微信分享的本质还不太了解的话可以回到开放平台的首页看一下微信分享的简介,图文并貌的讲解的很详细:http://open.weixin.qq.com/intro/?lang=zh_CN
接下来下载开放工具包(图5)
开发工具包主要包含3部分内容:(其中,只有libammsdk.jar是必须的)(图6)
每个第三方应用必须要导入该sdk库,用于实现与微信的通信。
接下来我们搭建开放环境:
[1] 在Eclipse中建立你的工程。
[2] 在工程中新建一个libs目录,将开发工具包中libs目录下的libammsdk.jar复制到该目录中(如下图所示,建立了一个名为SDK_Sample 的工程,并把jar包复制到libs目录下)。
在你需要使用微信终端API的文件中导入相应的类:import com.tencent.mm.sdk.openapi.WXTextObject;
package com.example.test;
import com.tencent.mm.sdk.openapi.WXTextObject;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
要使你的程序启动后微信终端能响应你的程序,必须在代码中向微信终端注册你的id。(如下图所示,可以在程序入口Activity的onCreate回调函数处,或其他合适的地方将你的应用id注册到微信。注册函数示例如下图所示。
现在,你的程序要发送请求或发送响应到微信终端,可以通过IWXAPI的 sendReq 和 sendResp 两个方法来实现。
boolean sendReq(BaseReq req);
sendReq是第三方app主动发送消息给微信,发送完成之后会切回到第三方app界面。
boolean sendResp(BaseResp resp);
sendResp是微信向第三方app请求数据,第三方app回应数据之后会切回到微信界面。
sendReq的实现示例:
//初始化一个WXTextObject对象
WXTextObject textObj=new WXTextObject();
textObj.text="text";
//用WXTextObject对象WXMediaMessage对象
WXMediaMessage msg=new WXMediaMessage();
msg.mediaObject=textObj;
msg.description="text";
//构造一个Req
SendMessageToWX.Req req=new SendMessageToWX.Req();
req.transaction=String.valueOf(System.currentTimeMillis());
req.message=msg;
//调用api接口发送数据到微信
api.sendReq(req);