在微信分享中,回调代码如下:
public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
private IWXAPI api;
int ERR_OK = 0;
int ERR_USER_CANCEL = 1;
int ERR_AUTH_DENIED = 2;
int ERR_UNKNOWN = -1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
api = WXAPIFactory.createWXAPI(this, ConfigManager.WX_APPID, true);
api.handleIntent(getIntent(), this);
}
// 微信发送请求到第三方应用时,会回调到该方法
@Override
public void onReq(BaseReq req) {
switch (req.getType()) {
case ConstantsAPI.COMMAND_GETMESSAGE_FROM_WX:
Intent intent = getIntent();
System.out.println(intent.toString());
break;
case ConstantsAPI.COMMAND_SHOWMESSAGE_FROM_WX:
break;
default:
break;
}
}
// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法
@Override
public void onResp(BaseResp resp) {
int result = 0;
switch (resp.errCode) {
case BaseResp.ErrCode.ERR_OK:
result = ERR_OK;
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
result = ERR_USER_CANCEL;
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED:
result = ERR_AUTH_DENIED;
break;
default:
result = ERR_UNKNOWN;
break;
}
Toast.makeText(this, result, Toast.LENGTH_LONG).show();
// TODO 微信分享 成功之后调用接口
this.finish();
}
直接报以下错误:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx.xxx/com.xxx.xxx.wxapi.WXEntryActivity}: android.content.res.Resources$NotFoundException: String resource ID #0x0
最后发现是toast中的result为int类型,所以直接报错了,应该改为:
Toast.makeText(this, result + “”, Toast.LENGTH_LONG).show();