开发者社区> 问答> 正文

使用QQ互联android sdk 回调方法 onComplete 不执行

MainActivity.java
 package com.example.testqq;

import android.os.Bundle;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.Button;
 import android.widget.TextView;

public class MainActivity extends BaseActivity {
 public Button loginBTN;
 public TextView loginMessage;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 loginBTN= (Button)findViewById(R.id.login);
 loginMessage=(TextView) findViewById(R.id.message);
 loginBTN.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            // TODO 自动生成的方法存根
            initTencent();
            login();
        }
    });
}
@Override
public void showMessage(String msg) {
    // TODO 自动生成的方法存根
    loginMessage.setText(msg);
}


}
 BaseActivity.java
 package com.example.testqq;

import com.tencent.tauth.IUiListener;
 import com.tencent.tauth.Tencent;
 import com.tencent.tauth.UiError;

import android.app.Activity;
 import android.content.Intent;
 import android.util.Log;
 import android.widget.TextView;

public abstract class BaseActivity extends Activity {
 public static final String AppID = "222222";
 protected Tencent mTencent;
public void initTencent() {
    mTencent = Tencent.createInstance(AppID, this);
}
public void login(){

    mTencent.login(this, "all", new IUiListener() {


        public void onError(UiError arg0) {
            // TODO 自动生成的方法存根
            showMessage("Login Error");
            Log.i("111111", "22222");
        }


        public void onComplete(Object arg0) {
            // TODO 自动生成的方法存根
            showMessage("Login success"+arg0.toString());
            Log.i("111111", "22222");
        }


        public void onCancel() {
            // TODO 自动生成的方法存根
            showMessage("Login cancel");
            Log.i("111111", "22222");
        }
    });
}

@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
    super.onActivityResult(requestCode, resultCode, data);
    if(mTencent!=null)
        mTencent.onActivityResult(requestCode, resultCode, data);
}
public abstract void showMessage(String msg);


}

布局文件只有一个button和一个textview.
无论是log.i 还是 修改textview 的text值,仍然不能调用onComplete .但是我明明已经登录成功了啊.pc电脑都提示我刚才登录了什么什么应用.

展开
收起
爵霸 2016-06-03 10:32:38 4969 0
2 条回答
写回答
取消 提交回答
  • 解决了吗.我也遇到了这样的问题

    2019-07-17 19:26:10
    赞同 展开评论 打赏
  • onActivityResult活动回调那里改一下,

     mTencent.onActivityResult(requestCode, resultCode, data);改成mTencent.onActivityResultData(requestCode, resultCode, data,
     new BaseUiListener());
    2019-07-17 19:26:10
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载