已经很久没有写过博客了,但是不想丢下它,老实说写博客已经成为我生活中的一部分,虽然工作很忙,但是还是想把它们给补回来。最近没写博客,是因为我前两月入职了一家互联网公司,现在正好在做android客户端的开发。这次写博客,主要是记录一下工作中android方面遇到的问题以及解决的办法。
进入正题,今天我们简单聊一个问题,就是如何使用android中的webview来调用native QQ,主要是通过网页链接。这正是上周组长交给我的一个bug。就是发现调用QQ出了问题,并没有跳到QQ却跳到了腾讯应用宝官网。而且他说解决这个bug,还不需要借助自带的浏览器,直接通过自己编写的WebView来实现应用直接调用QQ。由于原来并没有接触太多有关这方面的,所以开始去学习了一番,调用的代码也很固定。
一般调用的都是这样的一个链接:http://wpa.qq.com/msgrd?v=3&uin=8888888&site=qq&menu=yes,这里的8888888就是qq号。通过这个链接我们看起来这是一个很正常的http请求,但是我们可以通过抓包发现调用的QQ实际上不仅仅是进行一次http的请求,它是首先进行了一次http请求后,实际还发送了这么一个请求:mqqwpa://im/chat开头的。所以这样也就很容易解释原来为什么会跳到腾讯应用宝官网,因为http://wpa.qq.com/也就腾讯应用宝的官网,这是第一次请求,由于它接着再次请求的协议不是http而是mqqwpa://im/ch