android调用微信sdk

package your package name hree;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.sina.weibo.sdk.auth.Oauth2AccessToken;
import com.sina.weibo.sdk.auth.WeiboAuth;
import com.sina.weibo.sdk.auth.WeiboAuthListener;
import com.sina.weibo.sdk.auth.sso.SsoHandler;
import com.sina.weibo.sdk.exception.WeiboException;
import com.tencent.mm.sdk.openapi.BaseReq;
import com.tencent.mm.sdk.openapi.BaseResp;
import com.tencent.mm.sdk.openapi.ConstantsAPI;
import com.tencent.mm.sdk.openapi.IWXAPI;
import com.tencent.mm.sdk.openapi.IWXAPIEventHandler;
import com.tencent.mm.sdk.openapi.SendMessageToWX;
import com.tencent.mm.sdk.openapi.WXAPIFactory;
import com.tencent.mm.sdk.openapi.WXMediaMessage;
import com.tencent.mm.sdk.openapi.WXTextObject;

public class WxActivity extends Base implements IWXAPIEventHandler {
// AppID:YOURAPPID
private static final String APP_ID = “YOURAPPID”;
private IWXAPI api;

private Button btn; 
private EditText wxmsg; 

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.wx);

    this.btn = (Button) super.findViewById(R.id.btn);

    this.wxmsg = (EditText) super.findViewById(R.id.wxmsg);
    this.btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // api.openWXApp();
            // say("启动微信");
            sendText(wxmsg.getText().toString());
        }
    }); 

    // 注册微信
    this.regToWx();

    api.handleIntent(getIntent(), this);

}

private void regToWx() {
    api = WXAPIFactory.createWXAPI(this, APP_ID, true);
    api.registerApp(APP_ID);
    // say("注册完成");
}

private void sendText(String text) {
    // 初始化一个WXTextObject对象
    WXTextObject textObj = new WXTextObject();
    textObj.text = text;

    // 用WXTextObject对象初始化一个WXMediaMessage对象
    WXMediaMessage msg = new WXMediaMessage();
    msg.mediaObject = textObj;
    // 发送文本类型的消息时,title字段不起作用
    // msg.title = "Will be ignored";
    msg.description = text;

    // 构造一个Req
    SendMessageToWX.Req req = new SendMessageToWX.Req();
    req.transaction = String.valueOf(System.currentTimeMillis()); // transaction字段用于唯一标识一个请求
    req.message = msg;
    req.scene = SendMessageToWX.Req.WXSceneTimeline;

    // 调用api接口发送数据到微信
    api.sendReq(req);

    // say("已经发送");
}

public void say(String str) {
    Toast.makeText(this, str, Toast.LENGTH_LONG).show();
}

// @Override
// public boolean onCreateOptionsMenu(Menu menu) {
// // Inflate the menu; this adds items to the action bar if it is present.
// getMenuInflater().inflate(R.menu.activity_main, menu);
// return true;
// }

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);

    setIntent(intent);
    api.handleIntent(intent, this);
}

// 微信发送请求到第三方应用时,会回调到该方法
@Override
public void onReq(BaseReq req) {
    String result = "---";
    switch (req.getType()) {
    case ConstantsAPI.COMMAND\_GETMESSAGE\_FROM_WX:
        result = req.getType() + "";
        break;
    case ConstantsAPI.COMMAND\_SHOWMESSAGE\_FROM_WX:
        result = req.getType() + "";
        break;
    default:
        break;
    }
    Toast.makeText(this, result, Toast.LENGTH_LONG).show();
}

// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法
@Override
public void onResp(BaseResp resp) {
    int result = 0;

    switch (resp.errCode) {
    case BaseResp.ErrCode.ERR_OK:
        result = R.string.errcode_success;
        break;
    case BaseResp.ErrCode.ERR\_USER\_CANCEL:
        result = R.string.errcode_cancel;
        break;
    case BaseResp.ErrCode.ERR\_AUTH\_DENIED:
        result = R.string.errcode_deny;
        break;
    default:
        result = R.string.errcode_unknown;
        break;
    }

    Toast.makeText(this, result, Toast.LENGTH_LONG).show();
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    System.out.println(resultCode);
}

//

}

0%