App如何跳转到与手机版QQ公众号聊天界面

作者:鱼爪创媒网 点击:280 发布时间:2021-12-24

  大家一定都会运营自己的公众号,其实类似于公共号,网站他们盈利的方式有,在里面植入各种各样的广告,等待观看者,或者关注着点击这些广告从而进行获利。下面小编就给大家介绍一下App如何跳转到与手机版QQ公众号聊天界面。

  为了方便客服与顾客联系,最近公司产生这样一种需求,从公司App客户端跳转到与手机版QQ公众服务号聊天界面。与QQ有关的需求按理说都应该去QQ开发平台查找相关资料。然并卯,没有找到与这一需求相关的资料。经过一番咨询查找,终于找到这么一个链接 从网页中打开可以进入QQ聊天界面,其具体详情如图一所示。

  

  图(一)

  从浏览器中进入Web版QQ公众服务号聊天界面可以,那从App端进入行不行呢,答案是行的。经过查询相关资料发现使用协议(mqqwpa://im/chat?chat_type=crm&uin=4008205555&version=1&src_type=web&web_src=http:://wpa.b.qq.com(说明:其中4008205555表示公司QQ公众服务号,4008205555是招商银行信用卡的QQ公众服务号))可以成功调起QQ客户端进入聊天界面。说了这么多也不知道找的资料靠不靠谱。下面你我就一起来见证奇迹吧。

  第一步新建一个TestContactQQ项目。

  第二步添加布局文件。由于本项目布局简单,只有一个Button这里就不列出布局代码了。

  第三步编写主要跳转代码。其具体的代码如此下所示。

  [java] view plain copy print?

  package com.example.testcontactqq;

  import java.util.List;

  import android.app.Activity;

  import android.content.Context;

  import android.content.Intent;

  import android.content.pm.PackageInfo;

  import android.content.pm.PackageManager;

  import android.net.Uri;

  import android.os.Bundle;

  import android.util.Log;

  import android.view.View;

  import android.view.View.OnClickListener;

  import android.webkit.WebSettings;

  import android.webkit.WebView;

  import android.webkit.WebViewClient;

  import android.widget.Button;

  import android.widget.Toast;

  public class MainActivity extends Activity {

  private Button mContactQQ;

  private Context context;

  @Override

  protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.activity_main);

  context = MainActivity.this;

  mContactQQ = (Button) findViewById(R.id.contact_QQ);

  mContactQQ.setOnClickListener(new OnClickListener() {

  @Override

  public void onClick(View v) {

  if(isQQClientAvailable(MainActivity.this)){

  String url = "mqqwpa://im/chat?chat_type=crm&uin=4008205555&version=1&src_type=web&web_src=http:://wpa.b.qq.com";

  context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));

  }else{

  Toast.makeText(MainActivity.this, "您的手机暂未安装QQ客户端", 0).show();

  }

  }

  });

  }

  /**

  * 判断qq是否可用

  * @param context

  * @return

  */

  public static boolean isQQClientAvailable(Context context) {

  final PackageManager packageManager = context.getPackageManager();

  List pinfo = packageManager.getInstalledPackages(0);

  if (pinfo != null) {

  for (int i = 0; i < pinfo.size(); i++) {

  String pn = pinfo.get(i).packageName;

  if (pn.equals("com.tencent.mobileqq")) {

  return true;

  }

  }

  }

  return false;

  }

  }

  效果图

  经过测试发现,可以成功调起QQ客户端,但发送消息始终失败,Title也不显示招商银行信用卡,只显示4008205555。由此设想是不是这个QQ号有问题,于是,分别换了4008868400 和以800083942进行测试,经测试发现800开头的QQ号可以成功发送消息,但400开头QQ号还是消息发送失败。由此猜想,400开头的QQ号是不是就不能成功调起QQ客户端呢,但800开头的QQ又可以,这怎么解释呢。觉得这不是腾讯这么大公司的做事风格。

  经过对调起web版和手机版QQ这个流程的详细研究发现了一个问题。4008205555QQ号网页版的uin=800095555与客户端版的不一致,客户端是直接使用4008205555,而网页版弹出的uin如下标红处所示。

   

 由此猜想是不是400开头的QQ号要经过转换才能成功的调起QQ客户端并成功发送消息呢,下面来见证这一猜想。

  将代码中的4008205555换成800095555试试。结果发现居然真的能成功发送消息。其具体效果图所下所示。

  

  效果图

  由此无论400开头还是800开头QQ号都可以成功调起QQ客户端并成功发送消息。下面我们来做下简单的总结。

  1. 400开头QQ号能直接使用协议调起QQ客户端,但不能成功发送消息,要经过uin转换(将Web版的uin替换对应的协议uin)。

  2. 800开头QQ号可直接使用协议调起QQ客户端,并成功发送消息。

  App跳转到与手机版QQ公众服务号聊天界面介绍到此结束。以上就是本人开发中遇到的一些实际问题以及问题的一些解决办法。可能办法不是很完美,希望大家给予批评与建议。也希望能与大家深入学习并交流

  通过以上的描述你是否了解App如何跳转到与手机版QQ公众号聊天界面呢?这样如此全面、有效、简单的恢复方法,你学会了吗?如果你还想了解更多的话。更多更详细微信公众号素材内容,请持续关注鱼爪创媒。

更多推荐:

  qq公众号怎么有收益?怎么运营qq公众号有更好的收益?

  qq公众号如何申请?qq公众号如何获得收益?

  怎么设置可以让微信朋友圈消失一部分呢?

鱼爪创媒是一家专业提供公众号交易、公众号迁移、公众号增粉、公众号买卖交易的平台,如果您有这方面的需求,欢迎电话咨询:13018202357。有任何疑问,可以 【立即咨询】 我们平台的客服或者添加微信号 【13018202357】 。此文章来源于网络,如有侵权,请联系删除

标签:

资金保障

提供买卖双方资金担保交易
更放心

法律保障

交易签订具有法律效益合同
提供法律支持

急速退款

专属资金通道,快速拿到
钱款

全资公司

全资控股公司,大平台交易
有保障

服务优质

3500+专业团队,为您提供24
小时一对一贴心服务