在Aandroid中分享内容到微信

最近在为我的网站初中物理仿真演示实验汇编开发一个Android客户端,以便教师或学生能够在手机或平板中浏览使用物理仿真模拟。并且实现“网站-微信订阅号-手机APP”三者互通。这需要能够在我的APP中能够向微信中发送分享信息,为此我花了两天时间来开发在Android中分享内容到微信的功能。其中碰到不少坑,现将开发过程分享如下:

微信的三个平台

微信公众平台:和微信公众号、订阅号有关。并提供接口可以和自己的网站进行对接。

微信开放平台:为移动应用和网站应用提供内容分享接口。

腾讯开放平台:开发好的APP可以在这里发布到应用宝内。

如果要开发APP,并通过APP向微信内分享内容,应该使用“微信开放平台”

微信开放平台开发介绍

在你注册应用,并且应用通过审核后。可以“资源中心”找到帮助内容,开发的SDK,以及例子。我把例子的代码粘到这里

微信SDK Sample Demo源码

分享内容到微信

直接贴代码如下:

    public IWXAPI wx;private WXApi(Context context){wx = WXAPIFactory.createWXAPI(context, AppID, true);//AppID为注册的APP IDboolean b = wx.registerApp(AppID);}

分享的代码

/*** 分享文字** @param shareContent 分享内容* @param type         分享类型,朋友圈、收藏、好友,类型定义在SendMessageToWX.Req中,共三种WXSceneFavorite,WXSceneSession,WXSceneTimeline*/public void shareText(String shareContent, int type) {if (!shareContent.isEmpty()) {WXTextObject textObj = new WXTextObject();textObj.text = shareContent;WXMediaMessage msg = new WXMediaMessage();msg.mediaObject = textObj;// 发送文本类型的消息时,title字段不起作用// msg.title = "Title";msg.description = shareContent;// 构造一个ReqSendMessageToWX.Req req = new SendMessageToWX.Req();req.transaction = buildTransaction("text"); // transaction字段用于唯一标识一个请求req.message = msg;req.scene = type;wx.sendReq(req);}}

接收返回信息

如果你的程序需要接收微信发送的请求,或者接收发送到微信请求的响应结果,需要下面3步操作:

a. 在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity(例如应用程序的包名为net.sourceforge.simcpux,则新添加的类如下图所示)

并在manifest文件里面加上exported属性,设置为true,例如:

b. 实现IWXAPIEventHandler接口,微信发送的请求将回调到onReq方法,发送到微信请求的响应结果将回调到onResp方法

c. 在WXEntryActivity中将接收到的intent及实现了IWXAPIEventHandler接口的对象传递给IWXAPI接口的handleIntent方法,示例如下图:

当微信发送请求到你的应用,将通过IWXAPIEventHandler接口的onReq方法进行回调,类似的,应用请求微信的响应结果将通过onResp回调。

分享内容时碰到的坑——应用签名出错

  1. 返回信息为 -6:在网上查找,错误代码里没有定义。但从源码中可以看到,-6表示拒绝。在类BaseResp中有定义。最有可能的原因是申请时填的签名不对。
  2. 把应用签名改正确也不起作用,因为手机微信里有缓存,必须重新安装微信才管用。
  3. 如果你是用APKTool查到的签名MD5代码,要注意去除:号,并全部小写。
  4. 最好使用腾讯开放平台提供的获取应用签名的工具看一下签名是否和提交的相同。
  5. Android Studio debug使用release的签名
无论如何,此总算能分享内容到微信了

在Android中分享内容到微信相关推荐

  1. android微信点赞ui,Android中使用PopupWindow 仿微信点赞和评论弹出

    微信朋友圈的点赞和评论功能,有2个组成部分:左下角的"更多"按钮:点击该按钮后弹出的对话框: PopupWindow,弹出框使用PopupWindow实现,这是点赞和评论的载体,具 ...

  2. Android 原生分享文件到微信

    最近有一个分享文件的功能,记录下,除了分享文件,其他功能来之网络. import android.content.ComponentName; import android.content.Conte ...

  3. Android微信通讯录界面代码,Android中使用Expandablelistview实现微信通讯录界面

    之前的博文<Android 中使用ExpandableListView 实现分组的实例>我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的 ...

  4. Android中使用ExpandableListView实现微信通讯录界面(完善仿微信APP)

    之前的博文<Android中使用ExpandableListView实现好友分组>我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的仿微信 ...

  5. Android——intent分享图片到微信好友、朋友圈、QQ

    直接上代码,工具类 import android.content.ComponentName; import android.content.ContentValues; import android ...

  6. Android中TextView内容过长加省略号,设置超出6个字就用省略号表示

    设置超出6个字就用省略号表示: <TextView android:id="@+id/wholesale_carrier" android:layout_width=&quo ...

  7. android微信模拟,Android中使用ListView模拟微信好友功能

    效果图: 分析: 1.创建listView 2.创建数据 3.创建适配器 将数据放到呈现数据的容器里面. 将这个容器(带数据)连接适配器. 其实是直接在我们自己写的adapter的getView重载方 ...

  8. Android中创建内容提供者要继承,Android中创建内容提供者要继承( )。

    摘要: 图像则y过(b的一定,中者要图1像如的图已知所示.人不工程定支按约承包酬务报付劳,内容应(.认识同实现状向和醒的个清结果对合.提供趋有一施的.... 图像则y过(b的一定,中者要图1像如的图已 ...

  9. android中当内容超出一页,滚动条滚动到某一个位置的另一个思路

    2019独角兽企业重金招聘Python工程师标准>>> 当内容超出一页,做了页面底端的一些操作,滚动条可能会滚到上方,从交互上来讲,这是不合适的. 当时的第一种思路,就是让滚动条滚动 ...

最新文章

  1. 第一次,触碰Web App项目,栽过的那些坑。
  2. 分享Kali Linux 2016.2第46周镜像文件
  3. CDN 内容分发网络 简介
  4. 研发流程与项目管理之关系
  5. 如何导出maven子项目_如何使用maven 轻松重构项目
  6. matlab和python中的svd分解的区别
  7. 读者问:小公司,但工资高,能去吗?
  8. pygame只能编写游戏_游戏框架搭建
  9. JS实现图片循环滚动
  10. 【知识点总结】电力系统基础
  11. 什么是布控球,作用是什么?
  12. 应用程序正常初始化(0xc0000034)失败
  13. Computer:教你实用一招,如何实现点击PPT文件即可播放,而避免打开PowerPoint软件
  14. 键盘上的按键--键码 对应表
  15. Python并发编程之线程的玩法
  16. Aspose.Slides使用教程:使用 C# 在 PowerPoint 演示文稿中添加页眉和页脚
  17. 修复iPhone8白屏的3种方法,可保留设备数据
  18. [Discuz!] 头像HTML5上传 1.2 (saya_avatarupload)支持手机版
  19. 手机酷狗2 java_酷狗叮咚(原手机酷狗) 2.70 For Java 中文官方安装版下载
  20. MYSQL UDF提权

热门文章

  1. 一分钟使用 Tableau制作词云图
  2. C++中数组和指针的关系(区别)详解
  3. D. Yaroslav and Divisors
  4. 华为gt3和华为gt3pro手表区别 华为gt3和gt3pro哪个值得入手
  5. android获取随机颜色_Android编程实现随机生成颜色的方法示例
  6. Python数据清洗分列函数,解决多字段数据分列的串行问题
  7. 【linux查看出口IP(curl cip.cc)】
  8. 适合下雪天发朋友圈的文案句子
  9. axure获取团队项目失败_团队失败的原因
  10. 2109 - 找女朋友