9e13566e8bdffa86e238ac6fff065bfd57e89e38.svn-base
3.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
/*
* 官网地站:http://www.ShareSDK.cn
* 技术支持QQ: 4006852216
* 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复)
*
* Copyright (c) 2013年 ShareSDK.cn. All rights reserved.
*/
package com.ivt.android.me.wxapi;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Toast;
import com.ivt.android.me.bean.WXUserEntity;
import com.ivt.android.me.bean.evenbus.CodeBean;
import com.ivt.android.me.constant.BaseInfo;
import com.ivt.android.me.constant.CodeUtils;
import com.ivt.android.me.utils.httputil.HttpUtils.HttpCallback;
import com.ivt.android.me.utils.httputil.JsonUtils;
import com.ivt.android.me.utils.publics.MyToastUtils;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;
import com.tencent.mm.sdk.constants.ConstantsAPI;
import com.tencent.mm.sdk.modelbase.BaseReq;
import com.tencent.mm.sdk.modelbase.BaseResp;
import com.tencent.mm.sdk.modelmsg.SendAuth;
import com.tencent.mm.sdk.openapi.IWXAPI;
import com.tencent.mm.sdk.openapi.IWXAPIEventHandler;
import com.tencent.mm.sdk.openapi.WXAPIFactory;
import de.greenrobot.event.EventBus;
/** 微信客户端回调activity示例 */
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
private IWXAPI api;
private CodeBean codes = new CodeBean();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
api = WXAPIFactory.createWXAPI(this, BaseInfo.WEIXIN_APP_ID, false);
api.handleIntent(getIntent(), this);
}
@Override
public void onReq(BaseReq arg0) {
// TODO Auto-generated method stub
}
@Override
public void onResp(BaseResp arg0) {
// TODO Auto-generated method stub
switch (arg0.errCode) {
case BaseResp.ErrCode.ERR_OK:
if (arg0.getType() == ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX) {
BaseInfo.IsliveShare = false;
Toast.makeText(this, "分享成功", Toast.LENGTH_LONG).show();
this.finish();
} else if (arg0.getType() == ConstantsAPI.COMMAND_SENDAUTH) {
String code = ((SendAuth.Resp) arg0).code;
GetWeiopenid(code);
}
// if (BaseInfo.IsliveShare) {
// BaseInfo.IsliveShare = false;
// this.finish();
// } else {
//
// }
break;
case -6:
codes.setCode(CodeUtils.LOGINWEIXINFA);
EventBus.getDefault().post(codes);
MyToastUtils.showToast(this, "不是正式环境");
this.finish();
break;
case -2:
codes.setCode(CodeUtils.LOGINWEIXINFA);
EventBus.getDefault().post(codes);
// MyToastUtils.showToast(this, "取消分享");
this.finish();
break;
default:
codes.setCode(CodeUtils.LOGINWEIXINFA);
EventBus.getDefault().post(codes);
this.finish();
break;
}
}
/**
* 获取微信信息
*
*/
private void GetWeiopenid(String code) {
HttpMethod requestMethod = HttpMethod.GET;
String requestUrl = "https://api.weixin.qq.com/sns/oauth2/access_token?appid="
// + "wxa249cfc8d884386e"
+ "wx25baeb3cd821bac2"
+ "&secret="
// + "4c13b114eb9c416b70b0102a87fd5632"
+ "9fcb3ea4a0be054f924dd1ea506a0d0d"
+ "&code="
+ code
+ "&grant_type=authorization_code";
com.ivt.android.me.utils.httputil.HttpUtils.get(requestUrl, new HttpCallback() {
@Override
public void onSuccess(String data) {
// TODO Auto-generated method stub
WXUserEntity userb = JsonUtils.deserialize(data,
WXUserEntity.class);
String access_token = userb.getAccess_token();
String openid = userb.getOpenid();
codes.setOther(openid);
codes.setCode(CodeUtils.LOGINWEIXINSU);
EventBus.getDefault().post(codes);
WXEntryActivity.this.finish();
}
@Override
public void onError(String msg) {
// TODO Auto-generated method stub
super.onError(msg);
codes.setCode(CodeUtils.LOGINWEIXINFA);
EventBus.getDefault().post(codes);
WXEntryActivity.this.finish();
}
});
}
}