xcy1993 2015-01-28 03:18 采纳率: 0%
浏览 14984

android微信分享成功不回调

 package com.xcy.wxtest.wxapi;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

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.modelmsg.SendMessageToWX;
import com.tencent.mm.sdk.modelmsg.WXMediaMessage;
import com.tencent.mm.sdk.modelmsg.WXTextObject;
import com.tencent.mm.sdk.openapi.IWXAPI;
import com.tencent.mm.sdk.openapi.IWXAPIEventHandler;
import com.tencent.mm.sdk.openapi.WXAPIFactory;
import com.xcy.wxtest.R;

public class WXEntryActivity extends Activity implements IWXAPIEventHandler{

    private EditText editText;
    private Button button;
    private Button btn_open_wx;
    private IWXAPI apis;
    private static final String APP_ID = "wx8368d8d70626b02e";
    private static final String App_Secret = "a212499f83a99516b45f1fb9c5686e9a";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        apis = WXAPIFactory.createWXAPI(this, APP_ID, false);

        editText = (EditText)findViewById(R.id.editText);
        button = (Button)findViewById(R.id.button);
        btn_open_wx = (Button)findViewById(R.id.btn_open_wx);

        addListeners();
    }

    private void addListeners() {
        System.out.println("=========listener=============");
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String text = editText.getText().toString();

                if(text == null || text.length() == 0 ){
                    Toast.makeText(WXEntryActivity.this, "输入内同不为空", Toast.LENGTH_SHORT).show();
                }

                WXTextObject textobj = new WXTextObject();
                textobj.text = text;

                WXMediaMessage msg = new WXMediaMessage();
                msg.mediaObject = textobj;
                msg.description = text;

                SendMessageToWX.Req req = new SendMessageToWX.Req();
                req.transaction = buildTraction("text");
                req.message = msg;
                req.scene = req.WXSceneTimeline;//WXSceneTimeline 朋友圈 ,Session 表示发送到会话

                apis.sendReq(req);

            }
        });

        btn_open_wx.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(WXEntryActivity.this, "launch result:" + apis.openWXApp(), Toast.LENGTH_SHORT ).show();
            }
        });
    }
    @Override
    public void onReq(BaseReq req) {
        System.out.println("=========onReq=============");
    }

//    @Override
//    public void onResp(BaseResp resp) {
//        System.out.println("=========onResp=============");
//        if(resp.getType() == ConstantsAPI.COMMAND_SENDAUTH){
//            Toast.makeText(WXEntryActivity.this, "code = "+((SendAuth.Resp) resp).errCode, Toast.LENGTH_SHORT).show();
//        }
//        switch(resp.errCode){
//            case BaseResp.ErrCode.ERR_OK:
//                Toast.makeText(WXEntryActivity.this, "分享成功!", Toast.LENGTH_SHORT);
//                break;
//            case BaseResp.ErrCode.ERR_AUTH_DENIED:
//                Toast.makeText(WXEntryActivity.this, "分享被拒绝!", Toast.LENGTH_SHORT);
//                break;
//
//        }
//    }

    @Override
    public void onResp(BaseResp resp) {
        Toast.makeText(this, "openid = " + resp.openId, Toast.LENGTH_SHORT).show();
        System.out.println("================onResp=================");
        if (resp.getType() == ConstantsAPI.COMMAND_SENDAUTH) {
            Toast.makeText(this, "code = " + ((SendAuth.Resp) resp).code, Toast.LENGTH_SHORT).show();
        }

        String result = "";

        switch (resp.errCode) {
            case BaseResp.ErrCode.ERR_OK:
                result = "成功";
                break;
            case BaseResp.ErrCode.ERR_USER_CANCEL:
                result = "取消";
                break;
            case BaseResp.ErrCode.ERR_AUTH_DENIED:
                result = "拒绝";
                break;
            default:
                result = "。。。。";
                break;
        }

        Toast.makeText(this, result, Toast.LENGTH_LONG).show();
    }

    private String buildTraction(final String type){
        return (type == null) ? String.valueOf(System.currentTimeMillis()) : type + System.currentTimeMillis();
    }
}

  • 写回答

1条回答 默认 最新

  • Semon_yan_yan 2016-01-06 07:53
    关注

    你没有写,api.handleIntent(getIntent(), this); 这句话

    评论

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料