热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

实现微信分享以及解决分享后的回调监听是否分享成功

最近要实现一个分享到微信朋友圈的功能,遇上赶快找度娘,一打听,实现方法有2种,一种是通过intent意图打开微信的分享界面,经过试用了其他应用,这个方法体验不好,果断pass掉,第二种方法就是去微信官

最近要实现一个分享到微信朋友圈的功能,遇上赶快找度娘,一打听,实现方法有2种,一种是通过intent意图打开微信的分享界面,经过试用了其他应用,这个方法体验不好,果断pass掉,第二种方法就是去微信官网开开发者文档。看了之后发现要先提交自己的应用,然后通过审核后才能使用微信官方的分享SDK,然后一些列提交,等了一天后审核通过。在这里我要提醒一下就是,提交APK包名和签名文件是唯一的,这个不要乱提交,要仔细看好。接下来半个小时照着那个官方的小demo实现了分享,也比较简单,对了,当debug时要注意换签名工具,官方的demo都会带有的,名字叫debug.keystoret,如果不替换的话是不行的,难题这时来了。虽然可以分享了,但是弹出的分享对话框输入的文字分享后不会显示在微信朋友圈里面,官方的demo也不行,很是奇怪,通过仔细观察,发现我用的是官方例子的第一个:发送纯文本,这个是不行的,于是看了其他的几个方法,有分享图片的,分享链接的,官方的demo有BUG,害得我搞了这么久,改改那个demo就行了,就可以分享出去了,也能在弹出的对话框里面输入文字分享出去了,哈哈,改的地方是哪个图片资源,由于官方demo图片资源指定有问题,所以官方demo发送图片啊发送链接啊都发不出去。


说了这么多最奇怪的问题来了,有木有发现官方的例子发送成功或者取消后都会有个吐司提示,而我的就没有,经过一番再研究那个官方demo,哦,当分享成功后会打开WXEntryActivity这个活动,实现implements IWXAPIEventHandler     ,注册了一个监听 api.handleIntent(getIntent(), this);那么就会调用这个方法

// 第三方应用发送到微信的请求处理后的响应结果,会回调到该方法
@Override
public void onResp(BaseResp resp) {
int result = 0;

switch (resp.errCode) {
case BaseResp.ErrCode.ERR_OK:
result = R.string.errcode_success;
break;
case BaseResp.ErrCode.ERR_USER_CANCEL:
result = R.string.errcode_cancel;
break;
case BaseResp.ErrCode.ERR_AUTH_DENIED:
result = R.string.errcode_deny;
break;
default:
result = R.string.errcode_unknown;
break;
}

Toast.makeText(this, result, Toast.LENGTH_LONG).show();
}
看到了吗?里面有个吐司,当成功了或者失败了都会吐出来的,哈哈,别急还没完,于是我高兴的在我自己的Activity里面也实现了这个接口,注册了这个监听但是奇迹没有发生,很奇怪的问题,问了很多朋友都说不会,我看了下,很多软件业没监听是否分享成功,我搞了2天无果,打算放弃了,既然网易啊凤凰卫视啊的APP都没实现我也不实现了,但是我晚上睡不着,因为这个问题还纠结着我,因为搜狐新闻是可以的,我以为他们是没监听,随便写的,只有分享了管他成功不成功都吐司说成功了,其实经过我仔细观察,发现不是的,他们真的监听到了是否成功,所以才睡不着啊,今天我又搞它了,我不信,只要是别人能实现的,那么我也应该可以实现,肯定里面有诀窍,我就把搜狐 新闻APP反编译来看,我发现他们也有了WXEntryActivity这个类,有点不同的是他们的包名前面都改成了他们自己的,但是后面始终留了一个单词"wxapi",前面的无所谓,经过我测试,还是没成功,很纳闷啊,突然我发现WXEntryActivity这个活动我注册那少了一个 android:exported="true",我加上后果然可以了,但是还是有个问题,当分享成功后会跳转到WXEntryActivity这个活动,我就把它设置背景为透明,发现当跳过来时会闪一下,不好啊,不要紧,可以给这个活动加一个样式

             android:name="com.sample.android.main.wxapi.WXEntryActivity"
android:exported="true"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoDisplay" >

看到了吧,这样就不会闪了。写得有点凌乱,也不是很清楚,如果不懂的可以留言问我。另外我附上我的写的例子,是根据官方demo改的,所有APP_ID和包名就不能改,注意,一个手机上只能同时出现一个这个报名和APPID、签名的APK,不然会不行的。

下载链接:http://download.csdn.net/detail/msn465780/6558625

点击打开链接


推荐阅读
  • 本文介绍如何通过自定义控件LoadLayout实现ListView的上拉加载更多和下拉刷新功能。LoadLayout支持上拉加载,而下拉刷新则利用了android.support.v4.widget.SwipeRefreshLayout组件。 ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • 本文介绍如何使用 Angular 6 的 HttpClient 模块来获取 HTTP 响应头,包括代码示例和常见问题的解决方案。 ... [详细]
  • 本文介绍了如何使用JavaScript的Fetch API与Express服务器进行交互,涵盖了GET、POST、PUT和DELETE请求的实现,并展示了如何处理JSON响应。 ... [详细]
  • 我有一个SpringRestController,它处理API调用的版本1。继承在SpringRestControllerpackagerest.v1;RestCon ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • 黑马头条项目:Vue 文章详情模块与交互功能实现
    本文详细介绍了如何在黑马头条项目中配置文章详情模块的路由、获取和展示文章详情数据,以及实现关注、点赞、不喜欢和评论功能。通过这些步骤,您可以全面了解如何开发一个完整的前端文章详情页面。 ... [详细]
  • 程序员如何优雅应对35岁职业转型?这里有深度解析
    本文探讨了程序员在职业生涯中如何通过不断学习和技能提升,优雅地应对35岁左右的职业转型挑战。我们将深入分析当前热门技术趋势,并提供实用的学习路径。 ... [详细]
  • LCUI 2.1.0 版本现已推出,这是一个用 C 语言编写的图形用户界面开发库,适合创建轻量级的桌面应用程序。此次更新包括多项修复和功能增强,并正式宣布将启动 Android 支持的开发计划。 ... [详细]
  • Android开发技巧:实现带描边的圆角图片
    本文介绍了一种在Android应用中实现带描边的圆角图片的方法。通过使用BitmapShader类,开发者可以轻松地为图片添加圆角和描边效果,提升应用的视觉体验。 ... [详细]
  • 如何在应用中添加Banner广告
    本文详细介绍如何在移动应用中集成并添加Banner广告,包括必要的准备工作、代码实现及常见问题解决方法,帮助开发者快速掌握添加Banner广告的技术要点。 ... [详细]
  • 在 Android 开发中,通过 Intent 启动 Activity 或 Service 时,可以使用 putExtra 方法传递数据。接收方可以通过 getIntent().getExtras() 获取这些数据。本文将介绍如何使用 RoboGuice 框架简化这一过程,特别是 @InjectExtra 注解的使用。 ... [详细]
  • 本文详细介绍如何在IntelliJ IDEA 14中打包Android应用APK文件,并提供查询SHA1值的具体步骤。 ... [详细]
  • 探索Squid反向代理中的远程代码执行漏洞
    本文深入探讨了在网站渗透测试过程中发现的Squid反向代理系统中存在的远程代码执行漏洞,旨在帮助网站管理者和开发者了解此类漏洞的危害及防范措施。 ... [详细]
author-avatar
wymanNi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有