微信发送请求到第三方应用时(例如由小程序打开应用)无法获取参数
chaosphinx opened this issue · comments
chaosphinx commented
根据微信所提供 Android demo 中 WXEntryActivity
所示,微信发送请求应当在 onReq()
回调中监听,相关代码:
> // 微信发送请求到第三方应用时,会回调到该方法
> @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;
> }
> }
其中,goToShowMsg()
用来获取传递给应用的参数:
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();
}
当前代码在此处未作处理,所以无法获取参数。希望作者可以完善此处,十分感激。