微信返回APP后会多出一层黑色界面

点击分享到微信界面,无论点击返回,取消还是分享成功后选择转回,跳转到APP会多出一层黑色界面(如图,红色涂鸦部分是游戏名称),但是如果留着微信界面,再通过后台跳转回APP就不会出现。

有知道的给解答下是什么,怎么处理么。谢谢了

是不是WXEntryActivity没有finish掉

因为没有对返回的操作需求,所以只要有了返回我就直接调用了finish(),代码如图,这么处理不知道有没有问题

是不是因为现在微信分享没有返回,所以导致onResp方法压根就没进去。(个人猜测)

原因:
第三方授权时为SendAuth.Req
微信分享时为SendMessageToWX.Req
微信分享回调解析时强转为SendAuth.Req导致报错

方案:
BaseResp中还有一个getType(),用于区别这两种回调类型

贴下代码,可能不规范或者有缺漏,见谅

public void onResp(BaseResp baseResp)
{
    System.out.println("Enter the onResp");
    switch (baseResp.errCode){
        case BaseResp.ErrCode.ERR_OK:
            //操作成功
            switch (baseResp.getType()){
                case ConstantsAPI.COMMAND_SENDAUTH:
                    //登录成功
                    String code = ((SendAuth.Resp) baseResp).code;
                    AppActivity.callJsFunction(code);
                    break;
                case ConstantsAPI.COMMAND_SENDMESSAGE_TO_WX:
                    //分享成功

                    break;
                default:
                    break;
            }
        default:
            break;
    }
    finish();
 }

分享应该是有回调的,只是会返回成功,不过为了异常情况最好是在onResp最后调用下finish