123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- package com.wsj.Imgdt3;
- import android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.widget.Toast;
- import com.tencent.mm.opensdk.constants.ConstantsAPI;
- import com.tencent.mm.opensdk.modelbase.BaseReq;
- import com.tencent.mm.opensdk.modelbase.BaseResp;
- import com.tencent.mm.opensdk.modelbiz.SubscribeMessage;
- import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;
- import com.tencent.mm.opensdk.modelbiz.WXOpenBusinessView;
- import com.tencent.mm.opensdk.modelbiz.WXOpenBusinessWebview;
- import com.tencent.mm.opensdk.modelmsg.SendAuth;
- import com.tencent.mm.opensdk.modelmsg.ShowMessageFromWX;
- import com.tencent.mm.opensdk.modelmsg.WXAppExtendObject;
- import com.tencent.mm.opensdk.modelmsg.WXMediaMessage;
- import com.tencent.mm.opensdk.openapi.IWXAPI;
- import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;
- import com.tencent.mm.opensdk.openapi.WXAPIFactory;
- import java.lang.ref.WeakReference;
- public class WXEntryActivity extends Activity implements IWXAPIEventHandler{
- private static String TAG = "MicroMsg.WXEntryActivity";
- private IWXAPI api;
- private MyHandler handler;
- public static String wxAPPID = "wxd9772f42f126413f"; //可以设置成全局变量
- private static class MyHandler extends Handler {
- private final WeakReference<WXEntryActivity> wxEntryActivityWeakReference;
- public MyHandler(WXEntryActivity wxEntryActivity){
- wxEntryActivityWeakReference = new WeakReference<WXEntryActivity>(wxEntryActivity);
- }
- @Override
- public void handleMessage(Message msg) {
- int tag = msg.what;
- }
- }
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- api = WXAPIFactory.createWXAPI(this, wxAPPID, false);
- handler = new MyHandler(this);
- try {
- Intent intent = getIntent();
- api.handleIntent(intent, this);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- @Override
- protected void onNewIntent(Intent intent) {
- super.onNewIntent(intent);
- setIntent(intent);
- api.handleIntent(intent, this);
- }
- @Override
- public void onReq(BaseReq req) {
- switch (req.getType()) {
- case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:
- goToGetMsg();
- break;
- case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:
- goToShowMsg((ShowMessageFromWX.Req) req);
- break;
- default:
- break;
- }
- finish();
- }
- @Override
- public void onResp(BaseResp resp) {
- int result = 0;
- switch (resp.errCode) {
- case BaseResp.ErrCode.ERR_OK:
- break;
- case BaseResp.ErrCode.ERR_USER_CANCEL:
- break;
- case BaseResp.ErrCode.ERR_AUTH_DENIED:
- break;
- case BaseResp.ErrCode.ERR_UNSUPPORT:
- break;
- default:
- break;
- }
- Toast.makeText(this, getString(result) + ", type=" + resp.getType(), Toast.LENGTH_SHORT).show();
- if (resp.getType() == ConstantsAPI.COMMAND_SUBSCRIBE_MESSAGE) {
- SubscribeMessage.Resp subscribeMsgResp = (SubscribeMessage.Resp) resp;
- String text = String.format("openid=%s\ntemplate_id=%s\nscene=%d\naction=%s\nreserved=%s",
- subscribeMsgResp.openId, subscribeMsgResp.templateID, subscribeMsgResp.scene, subscribeMsgResp.action, subscribeMsgResp.reserved);
- Toast.makeText(this, text, Toast.LENGTH_LONG).show();
- }
- if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
- WXLaunchMiniProgram.Resp launchMiniProgramResp = (WXLaunchMiniProgram.Resp) resp;
- String text = String.format("openid=%s\nextMsg=%s\nerrStr=%s",
- launchMiniProgramResp.openId, launchMiniProgramResp.extMsg,launchMiniProgramResp.errStr);
- Toast.makeText(this, text, Toast.LENGTH_LONG).show();
- }
- if (resp.getType() == ConstantsAPI.COMMAND_OPEN_BUSINESS_VIEW) {
- WXOpenBusinessView.Resp launchMiniProgramResp = (WXOpenBusinessView.Resp) resp;
- String text = String.format("openid=%s\nextMsg=%s\nerrStr=%s\nbusinessType=%s",
- launchMiniProgramResp.openId, launchMiniProgramResp.extMsg,launchMiniProgramResp.errStr,launchMiniProgramResp.businessType);
- Toast.makeText(this, text, Toast.LENGTH_LONG).show();
- }
- if (resp.getType() == ConstantsAPI.COMMAND_OPEN_BUSINESS_WEBVIEW) {
- WXOpenBusinessWebview.Resp response = (WXOpenBusinessWebview.Resp) resp;
- String text = String.format("businessType=%d\nresultInfo=%s\nret=%d",response.businessType,response.resultInfo,response.errCode);
- Toast.makeText(this, text, Toast.LENGTH_LONG).show();
- }
- if (resp.getType() == ConstantsAPI.COMMAND_SENDAUTH) {
- SendAuth.Resp authResp = (SendAuth.Resp)resp;
- final String code = authResp.code;
- }
- finish();
- }
- private void goToGetMsg() {
- // Intent intent = new Intent(this, GetFromWXActivity.class);
- // intent.putExtras(getIntent());
- // startActivity(intent);
- finish();
- }
- private void goToShowMsg(ShowMessageFromWX.Req showReq) {
- WXMediaMessage wxMsg = showReq.message;
- WXAppExtendObject obj = (WXAppExtendObject) wxMsg.mediaObject;
- StringBuffer msg = new StringBuffer();
- msg.append("description: ");
- msg.append(wxMsg.description);
- msg.append("\n");
- msg.append("extInfo: ");
- msg.append(obj.extInfo);
- msg.append("\n");
- msg.append("filePath: ");
- msg.append(obj.filePath);
- // Intent intent = new Intent(this, ShowFromWXActivity.class);
- // intent.putExtra(Constants.ShowMsgActivity.STitle, wxMsg.title);
- // intent.putExtra(Constants.ShowMsgActivity.SMessage, msg.toString());
- // intent.putExtra(Constants.ShowMsgActivity.BAThumbData, wxMsg.thumbData);
- // startActivity(intent);
- finish();
- }
- }
|