热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Android实现分享微信好友及出现闪退的解决办法

这篇文章主要介绍了Android实现分享微信好友及出现闪退的解决办法的相关资料,需要的朋友可以参考下

 1.申请微信APPID

要实现分享到微信的功能,首先要到微信开放平台申请一个APPID。但在申请APPID的时候需要填写一个应用签名和应用包名。需要注意的是包名必须与开发应用时的包名一致,应用签名也必须去掉冒号而且字母为小写。

2.应用签名的获取

开发android应用的人很多,很有可能类名、包名起成了同一个名字,签名这时候就起到区分的作用。

所有的Android应用都必须有数字签名,不存在没有数字签名的应用,包括模拟器运行的。模拟器开发环境,开发时,通过ADB接口上传的程序会自动被签有Debug权限,然后才传递到模拟器。打开Eclipse的Window-->preferences-->Android-->Buid菜单选项如下图,显示的是默认的调试用的签名数字证书。

然而使用微信的分享功能需要使用正式发布Android应用时的签名,才不会出现闪退现象。

为了生成一个正式发布的应用的签名,首先我们需要一个keystore:

cmd命令行进入到JDK的bin目录,这样待会生成的android.keystore文件就会在这个目录下;进入bin目录后输入

keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore

接着会显示输入keystore密码:

再次输入新密码:

您的姓名与姓氏是什么?

您的组织单位名称是什么?

您的组织名称是什么?

......

最后要你确认以上信息是否正确,确认就输入 Y

输入的主密码(如果和 keystore 密码相同,按回车): (博主我按了回车)

接着回到eclipse中,右击项目-->android tools-->Export signed Application Packages,选择需要export的项目名,点击next,Use existing keystore,location里选择jdk的bin目录里刚刚生成的android.keystore,输入刚刚在cmd里设置的密码,点击next,再次输入密码,点击next,选择apk存放的位置,如下图

MD5就是我们在微信开放平台需要输入的应用签名(注意字母要小写,冒号去掉)。

在微信开发平台点击提交审核后,一般一天内就可以通过审核,此时在管理中心,我们就可以看到APPid

3.在应用中使用微信分享功能

创建微信api

private static final String APP_ID = "申请到的APPID"; 
private IWXAPI api; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
api = WXAPIFactory.createWXAPI(getActivity(), APP_ID); 
api.registerApp(APP_ID); 
} 
[java] view plain copy 在CODE上查看代码片派生到我的代码片
//创建一个用于封装待分享文本的WXTextObject对象 
WXTextObject textObject = new WXTextObject(); 
textObject.text = text;//text为需要分享的文本字符串 
//第2步:创建WXMediaMessage对象,该对象用于Android客户端向微信发送数据 
WXMediaMessage msg = new WXMediaMessage(); 
msg.mediaObject = textObject; 
msg.description = "日程信息"; 
//第3步:创建一个用于请求微信客户端的SendMessageToWX.Req对象 
SendMessageToWX.Req req = new SendMessageToWX.Req(); 
req.message = msg; 
//设置请求的唯一标识 
req.transaction = buildTransaction(text); 
req.scene = SendMessageToWX.Req.WXSceneSession; 
// 第4步:发送给微信客服端 
api.sendReq(req); 

每一次修改后的调试都要export一次apk,然后安装apk,除非不是调试微信分享功能则可直接run;调用其他api如百度地图需要应用签名的,也要注意调试时的签名和正式发布应用的签名不一样。

以上内容是小编给大家介绍的Android实现分享微信好友及出现闪退的解决办法,希望对大家有所帮助!


推荐阅读
  • 【Linux进阶指南】第一阶段第三课:体验与部署Ubuntu系统
    在正式踏上Linux学习之旅之前,本课程将引导你深入体验和部署Ubuntu系统。通过详细的操作步骤和实践演练,你将掌握Ubuntu的基本安装、配置及常用命令,为后续的进阶学习打下坚实的基础。此外,课程还将介绍如何解决常见问题和优化系统性能,帮助你更加高效地使用Ubuntu。 ... [详细]
  • JBPM 6.5 环境配置深入解析(下篇)
    本文深入探讨了JBPM 6.5 的环境配置细节,从零开始详细介绍了下载、解压后的文件结构,并结合实际操作步骤,为初学者提供了全面的配置指南。通过具体的示例和详细的解释,帮助读者快速掌握 JBPM 6.5 的安装与配置过程。 ... [详细]
  • 经过半年的精心整理,我们汇总了当前市场上最全面的Android面试题解析,为移动开发人员的晋升和加薪提供了宝贵的参考资料。本书详细涵盖了从基础到高级的各类面试题,帮助读者全面提升技术实力和面试表现。章节目录包括:- 第一章:Android基础面试题- 第二章:... ... [详细]
  • SpringBoot启动脚本详解:BAT文件应用与基础入门指南(SpringBoot系列第1篇)
    如果你还在为SSM框架的复杂搭建过程和繁琐的配置文件而烦恼,那么SpringBoot将是你的一大福音。作为SpringBoot系列的第一篇文章,本文详细介绍了如何使用BAT文件来启动SpringBoot应用,并提供了基础入门指南,帮助开发者快速上手,简化开发流程。 ... [详细]
  • PHP开发人员薪资水平分析:工程师平均工资概况
    PHP开发人员薪资水平分析:工程师平均工资概况 ... [详细]
  • 本文源自极分享,详细内容请参阅原文。技术债务如同信用卡负债,随着时间推移,修复成本会越来越高,因此程序员必须对此有深刻认识。此外,团队应致力于培养一种持续维护和优化代码的文化,以减少技术债务的累积。 ... [详细]
  • 在项目开发过程中,掌握一些关键的Linux命令至关重要。例如,使用 `Ctrl+C` 可以立即终止当前正在执行的命令;通过 `ps -ef | grep ias` 可以查看特定服务的进程信息,包括进程ID(PID)和JVM参数(如内存分配和远程连接端口);而 `netstat -apn | more` 则用于显示网络连接状态,帮助开发者监控和调试网络服务。这些命令不仅提高了开发效率,还能有效解决运行时的各种问题。 ... [详细]
  • 在Python编程中,探讨了并发与并行的概念及其区别。并发指的是系统同时处理多个任务的能力,而并行则指在同一时间点上并行执行多个任务。文章详细解析了阻塞与非阻塞操作、同步与异步编程模型,以及IO多路复用技术的应用。通过模拟socket发送HTTP请求的过程,展示了如何创建连接、发送数据和接收响应,并强调了默认情况下socket的阻塞特性。此外,还介绍了如何利用这些技术优化网络通信性能和提高程序效率。 ... [详细]
  • APP运营推广可选渠道分析:深入探讨安卓系统下的配置选项与策略 ... [详细]
  • Eclipse 错误解决:找不到指定的 APK 文件,项目名称未正确配置
    摘要:此问题可能是因为当前项目被错误地配置为库项目。解决方法如下:首先,打开项目属性(Project > Properties),在左侧列表中选择“Android”选项卡,取消选中“Is Library”复选框,然后点击“Apply”并重新构建项目。如果问题仍然存在,建议检查项目的构建路径和依赖关系,确保所有配置正确无误。 ... [详细]
  • 稳操胜券,35K薪资,字节跳动商业数据分析岗位
    在数字化浪潮中,掌握数据即掌握未来。正如马云在IT领袖峰会上所言:“未来的竞争将是数据的竞争,只有实现业务的数据化和数据的业务化,企业才能在激烈的市场竞争中脱颖而出。”字节跳动的商业数据分析岗位,正是这一趋势的体现,提供35K的薪资,吸引着众多数据精英。 ... [详细]
  • 安卓逆向工程工具精选合集
    在安卓逆向工程领域,本文精选了一系列常用的工具,并将持续更新以适应技术的发展。特别推荐使用雷电3.98版本作为电脑模拟器,用户可从官方网站下载最新版本,确保最佳的兼容性和性能。此外,本文还介绍了其他关键工具,如反编译器、调试器和签名工具,为逆向工程师提供全面的支持。 ... [详细]
  • 在椭圆形状设计中,色彩搭配方案对视觉效果和用户体验至关重要。本文分析了不同色彩组合在椭圆形状设计中的应用效果,特别探讨了白色背景与绿色文字的搭配,指出长期观看这种配色可能会导致视觉疲劳。通过引入多种色彩搭配方案,本文旨在为设计师提供更加科学和舒适的色彩选择建议。 ... [详细]
  • 优化Android BroadcastReceiver时需关注的关键事项与最佳实践
    在优化Android中的BroadcastReceiver时,开发者应关注若干关键事项并遵循最佳实践。本文探讨了在BroadcastReceiver中编码时可能遇到的意外异常及其解决方法,同时提供了提高性能和稳定性的建议。通过合理配置和使用BroadcastReceiver,可以有效避免常见的问题,如内存泄漏、响应延迟等,确保应用的高效运行。 ... [详细]
  • 对于前端开发新手而言,理解JavaScript模块加载机制常常是一个挑战。本文将深入解析Node.js中的`require`方法及其与RequireJS之间的区别,并探讨它们在不同场景下的应用。通过对比这两种模块加载方式,读者可以更好地掌握如何在项目中选择合适的模块管理工具。此外,文章还提供了实际示例,帮助读者加深对模块化编程的理解。 ... [详细]
author-avatar
阳阳的微薄之歌
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有