super.onActivityResult(requestCode, resultCode, data);
mTencent.onActivityResultData(requestCode, resultCode, data, loginListener);
if (requestCode == Constants.REQUEST_API) {
if (resultCode == Constants.REQUEST_QQ_SHARE ||
resultCode == Constants.REQUEST_QZONE_SHARE ||
resultCode == Constants.REQUEST_OLD_SHARE) {
mTencent.handleResultData(data, loginListener);
}
}
}
在onCreate方法中定义一个按钮初始化环境并调用登录接口:
Button btn = findViewById(R.id.ic_qq);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
initQqLogin();
mTencent.login(MainActivity6.this, SCOPE, loginListener);
}
});
效果图

===================================================================
实现Activity代码:
定义常量
private IUiListener shareListener ;
初始化监听器
//QQ分享监听
private void initShare(){
mTencent = Tencent.createInstance(APP_ID, this);
shareListener = new IUiListener() {
@Override
public void onComplete(Object o) {
//分享成功后回调
Toast.makeText(MainActivity6.this, “分享成功!”, Toast.LENGTH_SHORT).show();
}
@Override
public void onError(UiError uiError) {
//分享失败后回调
}
@Override
public void onCancel() {
//取消分享后回调
}
@Override
public void onWarning(int i) {
}
};
}
实现分享方法,更多类型的分享可以参考QQ分享
public void share(View view)
{
Bundle params = new Bundle();
params.putInt(QQShare.SHARE_TO_QQ_KEY_TYPE, QQShare.SHARE_TO_QQ_TYPE_DEFAULT);
params.putString(QQShare.SHARE_TO_QQ_TITLE, “标题”);
params.putString(QQShare.SHARE_TO_QQ_SUMMARY,“摘要”);
params.putString(QQShare.SHARE_TO_QQ_TARGET_URL,“http://blog.youkuaiyun.com/u013451048”);
params.putString(QQShare.SHARE_TO_QQ_IMAGE_URL,“http://avatar.youkuaiyun.com/C/3/D/1_u013451048.jpg”);
params.putString(QQShare.SHARE_TO_QQ_APP_NAME, “优快云”);
mTencent.shareToQQ(MainActivity6.this, params, shareListener);
}
在onCreate方法中定义一个按钮初始化环境并调用分享:
initShare();
share(v);
分享效果:
分享失败原因是appid未通过审核,只允许开发者进行第三方登陆
=================================================================
2020-12-21 15:46:44.906 5812-5861/com.example.myapplication E/AndroidRuntime: FATAL EXCEPTION: Thread-2
Process: com.example.myapplication, PID: 5812
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/conn/scheme/SchemeRegistry;
at com.tencent.open.utils.HttpUtils.getHttpClient(ProGuard:634)
at com.tencent.open.utils.HttpUtils.openUrl2(ProGuard:507)
at com.tencent.open.utils.g$1.run(ProGuard:197)
Caused by: java.lang.ClassNotFoundException: Didn’t find class “org.apache.http.conn.scheme.SchemeRegistry” on path: DexPathList[[zip file “/data/app/~~5B-Ts-GeXWFIk_rTJLbHvA==/com.example.myapplication-K1q4IBrjVFa7bt0J17Ckxg==/base.apk”],nativeLibraryDirectories=[/data/app/~~5B-Ts-GeXWFIk_rTJLbHvA==/com.example.myapplication-K1q4IBrjVFa7bt0J17Ckxg==/lib/x86, /system/lib, /system_ext/lib, /product/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:207)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.tencent.open.utils.HttpUtils.getHttpClient(ProGuard:634)
at com.tencent.open.utils.HttpUtils.openUrl2(ProGuard:507)
at com.tencent.open.utils.g$1.run(ProGuard:197)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
写在最后
由于本文罗列的知识点是根据我自身总结出来的,并且由于本人水平有限,无法全部提及,欢迎大神们能补充~
将来我会对上面的知识点一个一个深入学习,也希望有童鞋跟我一起学习,一起进阶。
提升架构认知不是一蹴而就的,它离不开刻意学习和思考。
**这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家,**梳理了多年的架构经验,筹备近1个月最新录制的,相信这份视频能给你带来不一样的启发、收获。
领取方式:点击这里获取免费架构视频资料
最近还在整理并复习一些Android基础知识点,有问题希望大家够指出,谢谢。
希望读到这的您能转发分享和关注一下我,以后还会更新技术干货,谢谢您的支持!
转发+点赞+关注,第一时间获取最新知识点
录制的,相信这份视频能给你带来不一样的启发、收获。
[外链图片转存中…(img-jgn6TNFY-1710671206433)]
[外链图片转存中…(img-qs7RqzYH-1710671206434)]
领取方式:点击这里获取免费架构视频资料
最近还在整理并复习一些Android基础知识点,有问题希望大家够指出,谢谢。
希望读到这的您能转发分享和关注一下我,以后还会更新技术干货,谢谢您的支持!
转发+点赞+关注,第一时间获取最新知识点
Android架构师之路很漫长,一起共勉吧!