
为了方便客户服务与客户联系,该公司最近创建了这样一种需求,即从公司的App客户端跳转到带有手机QQ公共服务号码的聊天界面. 从逻辑上讲,与QQ有关的要求应转到QQ开发平台以查找相关信息. 当然,没有找到与此需求有关的信息. 经过一番咨询和搜索,我终于找到了这样的链接(; uin = 4008205555(注: 4008205555代表公司的QQ公众号,而4008205555是招商银行的QQ公众号). 进入QQ聊天界面的网页,其详细信息如图1所示.
您可以从浏览器输入QQ公共服务号码聊天界面的网络版本,但在App端不起作用,答案是肯定的. 在查询相关信息之后,发现使用协议(mqqwpa: // im / chat?Chat_type = crm&uin = 4008205555&version = 1&src_type = web&web_src = http :: //wpa.b.qq. com 4008205555是招商银行的QQ公众服务号))您可以成功调用QQ客户端以进入聊天界面. 说了这么多,我不知道您所寻找的信息是否可靠. 现在,您和我将一起见证奇迹.
第一步是创建一个新的TestContactQQ项目.
第二步是添加布局文件. 因为该项目的布局很简单手机网页版qq登录,所以只有一个按钮,并且此处未列出布局代码.
第三步是编写主跳转代码. 具体代码如下所示.
[java]查看普通副本打印吗?
打包com.example.testcontactqq;
import java.util.List;
导入android.app.Activity;
导入android.content.Context;
导入android.content.Intent;
导入android.content.pm.PackageInfo;
导入android.content.pm.PackageManager;

导入android.net.Uri;
导入android.os.Bundle;
import android.util.Log;
导入android.view.View;
导入android.view.View.OnClickListener;
导入android.webkit.WebSettings;
导入android.webkit.WebView;
导入android.webkit.WebViewClient;
import android.widget.Button;
导入android.widget.Toast;
公共类MainActivity扩展了活动{
私人按钮mContactQQ;
私有上下文上下文;

@Override
受保护的void onCreate(捆绑的saveInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = MainActivity.this;
mContactQQ =(按钮)findViewById(R.id.contact_QQ);
mContactQQ.setOnClickListener(新的OnClickListener(){
@Override
无效的onClick(查看v){
如果(isQQClientAvailable(MainActivity.this)){
字符串url =“ mqqwpa: //即时通讯/聊天?chat_type = crm&uin = 4008205555&version = 1&src_type = web&web_src = http: // //wpa.b.qq.com";
context.startActivity(新的Intent(Intent.ACTION_VIEW,Uri.parse(网址)));
}其他{

Toast.makeText(MainActivity.this,“您的手机没有QQ客户端”,0).show();
}
}
});
/ **
*确定qq是否可用
* @param上下文
* @return
* /
公共静态布尔值isQQClientAvailable(上下文上下文){
最终的PackageManager packageManager = context.getPackageManager();
列出
if(pinfo!= null){

for(int i = 0; i 字符串pn = pinfo.get(i).packageName; if(pn.equals(“ com.tencent.mobileqq”)){ 返回true; } } } 返回假; 经过测试,发现可以成功调用QQ客户端,但是发送消息始终失败. 标题不显示招商银行,仅显示4008205555. 假定此QQ号有问题. 因此,测试分别更改为4008868400和800839942. 经过测试,发现以800开头的QQ号码可以成功发送消息,但是以400开头的QQ号码仍然无法发送消息. 由此,我猜想以400开头的QQ号码不能成功调用QQ客户端,但是以800开头的QQ可以成功. 怎么解释呢?我认为这不是给这么大公司做事的风格. 在详细研究了网络版和移动版QQ的启动过程之后,发现了一个问题. 4008205555QQ网络版本uin = 800095555与客户端版本不一致. 客户端直接使用4008205555,网络版本弹出的Uin下方显示为红色. 根据这种推测,是否需要转换以400开头的QQ号码才能成功调用QQ客户端并成功发送消息?让我们见证这个猜想. 尝试在代码中用80095555替换4008205555. 原来,该消息实际上已成功发送. 因此,无论QQ号码以400还是800开头,您都可以成功调用QQ客户端并成功发送消息. 让我们做一个简短的总结. 1. 以400开头的QQ号码可以直接使用该协议来调用QQ客户端,但无法成功发送消息手机网页版qq登录,并且必须进行uin转换(替换uin网络版本的相应uin). 2. 以800开头的QQ号码可以直接使用协议调用QQ客户端并成功发送消息. 该应用程序跳至带有QQ公共服务号码移动版的聊天界面. 引言到此结束. 以上是我开发中遇到的一些实际问题,以及对这些问题的一些解决方案. 也许这种方法并不完美,希望大家能提出批评和建议. 我也希望深入学习并与您交流.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-145417-1.html
弄个公司上市圈钱
桃子别哭
最后的茜的镜头鸡皮疙瘩都起来了好美