Android app 拉起小程序后再唤起app,app的回调没有执行
发布于 6 年前 作者 ktang 13587 次浏览 来自 官方Issues

import android.content.Intent;
import android.util.Log;
import android.widget.Toast;

import com.i84.cpn.andr.help.ToastHelper;
import com.tencent.mm.opensdk.constants.ConstantsAPI;
import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;

import cn.sharesdk.wechat.utils.WXAppExtendObject;
import cn.sharesdk.wechat.utils.WXMediaMessage;
import cn.sharesdk.wechat.utils.WechatHandlerActivity;

/** 微信客户端回调activity示例 */
public class WXEntryActivity extends WechatHandlerActivity implements IWXAPIEventHandler {

   /**
    * 处理微信发出的向第三方应用请求app message
    * <p>
    * 在微信客户端中的聊天页面有“添加工具”,可以将本应用的图标添加到其中
    * 此后点击图标,下面的代码会被执行。Demo仅仅只是打开自己而已,但你可
    * 做点其他的事情,包括根本不打开任何页面
    */
   public void onGetMessageFromWXReq(WXMediaMessage msg) {
      Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName());
      startActivity(iLaunchMyself);
   }

   /**
    * 处理微信向第三方应用发起的消息
    * <p>
    * 此处用来接收从微信发送过来的消息,比方说本demo在wechatpage里面分享
    * 应用时可以不分享应用文件,而分享一段应用的自定义信息。接受方的微信
    * 客户端会通过这个方法,将这个信息发送回接收方手机上的本demo中,当作
    * 回调。
    * <p>
    * 本Demo只是将信息展示出来,但你可做点其他的事情,而不仅仅只是Toast
    */
   public void onShowMessageFromWXReq(WXMediaMessage msg) {
      if (msg != null && msg.mediaObject != null
            && (msg.mediaObject instanceof WXAppExtendObject)) {
         WXAppExtendObject obj = (WXAppExtendObject) msg.mediaObject;
         Toast.makeText(this, obj.extInfo, Toast.LENGTH_SHORT).show();
      }
   }

   [@Override](/user/Override)
   public void onReq(com.tencent.mm.opensdk.modelbase.BaseReq baseReq) {
      Log.e("wetch",baseReq.getType() + "");
   }

   [@Override](/user/Override)
   public void onResp(com.tencent.mm.opensdk.modelbase.BaseResp baseResp) {
      if (baseResp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
         WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) baseResp;
         String extraData =launchMiniProResp.extMsg; // 对应下面小程序中的app-parameter字段的value
         ToastHelper.showToast(extraData);
            Log.e("wetch",extraData);
      }
   }
}
1 回复

麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点

回到顶部