做android三年了,都不知道到底干了啥,现在好好研究应该来得及,哈哈哈,希望看到文章的人共勉,哈哈哈(新手写文章,大佬轻喷,呜呜呜~)

好了,这篇只是记录下,项目中遇到的坑(MMP测试),哈哈哈,吐槽一下测试。。。

进入正题:

  1. 应用跳转添加QQ群
 /****************
*
* 发起添加群流程。群号:xxxxxxxx 的 key 为: ydoaDyyAM5sk9VxPefuQJo-w6jf9pfK-
* 调用 joinQQGroup(ydoaDyyAM5sk9VxPefuQJo-w6jf9pfK-) 即可发起手Q客户端申请加群 某某群(xxxxxxxx)
*
* @param key 由官网生成的key
******************/
public void joinQQGroup(String key) {
Intent intent = new Intent();
intent.setData(Uri.parse("mqqopensdkapi://bizAgent/qm/qr?url=http%3A%2F%2Fqm.qq.com%2Fcgi-bin%2Fqm%2Fqr%3Ffrom%3Dapp%26p%3Dandroid%26k%3D" + key));
// 此Flag可根据具体产品需要自定义,如设置,则在加群界面按返回,返回手Q主界面,不设置,按返回会返回到呼起产品界面
// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
startActivity(intent);
} catch (Exception e) {
// 未安装手Q或安装的版本不支持
ToastUtil.showToastShort(getActivity(), "未安装手Q或安装的版本不支持");
}
}

这个其实是QQ群官方加群提供的一键加群方法,里面提供了网页,android,ios和二维码下载。
注意: intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);这东西意思是开启一个新的Activity栈,不开启的话,在已经加入群的情况下,会出现发消息按钮,点击发消息按钮进群聊天,之后我们点返回键,会出现不能回到我们自己的APP,而是直接退出QQ同时我们的页面也退到了后台的情况(在这里给我司的测试敬个礼~~~)
所以,intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);最好还是启用,哈哈哈

  1. 应用跳转个人QQ的情况(个人运用的两种方式)

第一种,运用上面加群的代码(不过是识别二维码的情况下,把需要添加的qq号二维码,替换群的二维码)跳转到个人的主页,下方有加好友按钮。
注意:这一方法的弊端(目前发现两点):一,和上方的注意点是一样的需要添加intent的flag;二,在添加完好友后,再删除好友,只能跳转的QQ界面,无法重新添加好友,呜呜呜呜(我司测试也是可以的,好可怕)

第二种,直接开启聊天窗口,上代码

    /**
* 跳转QQ聊天界面
*/
public void joinQQ() {
try {
//第二种方式:可以跳转到添加好友,如果qq号是好友了,直接聊天
String url = "mqqwpa://im/chat?chat_type=wpa&uin=" + qqNum;//uin是发送过去的qq号码
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
} catch (Exception e) {
e.printStackTrace();
ToastUtil.showToastShort(getActivity(), "请检查是否安装QQ");
}
}

这种方式,是直接打开QQ,进入聊天界面,如果不是好友,会在上方显示加好友,当然也可以直接聊天,不过是以陌生人的方式,哈哈哈,这样完美解决了第一种方式的两种问题(MMP,也达到了我司测试的要求)

当然,也有其他的实现方法,比如,自写一个Activity,里面实现webviewQQ群官方加群提供的HTML的方式进行加群,加好友的操作,这个方式没试过,不过应该可行,需要的网上搜一下,哈哈哈

浏览器中点击链接,跳转qq添加好友的实现方式的更多相关文章

  1. 阻止iOS Web APP中点击链接跳转到Safari 浏览器新标签页

    问题:ios封装完之后,点击里边的按钮会跳转到网页上 ——小卡遇到这个问题就是这样解决的↓↓↓ 解决方法:建议将代码放到</head>标签前,当然,另外存为一个js 文件引用也是可以的呦~ ...

  2. 在Chrome浏览器中点击链接,打开IE浏览器,跳转到指定页面并传递参数

    需求: 在Chrome浏览器中点击链接,打开IE浏览器,跳转到指定页面并传递参数 过程: 一些应用软件可以通过点击URL链接启动并执行操作(例如迅雷),这是如何做到的呢? 主要是通过修改注册表,注册U ...

  3. 在IE中点击转跳,并打开chorme浏览器继续浏览指定页面,IE自定义ocx控件开发

    因项目需要,需要开发一个功能:在IE中点击转跳,并打开chorme浏览器继续浏览指定页面. 分析需求后,参考了: https://www.cnblogs.com/ffjiang/p/7908025.h ...

  4. 点击链接跳转到QQ的情况; qq交谈

    https://blog.csdn.net/qq_31856835/article/details/70225968 https://blog.csdn.net/qq_37815596/article ...

  5. 解决默写浏览器中点击input输入框时,placeholder的值不消失的方法

    html中,placeholder作为input的一个属性,起到了在输入框中占位并提示的作用. 但是有一些浏览器,如chrome,当鼠标点击输入框时,placeholder的值不消失,只有输入数据才消 ...

  6. django xadmin中logout页面在chrome浏览器中点击关闭页面无效

    问题现象 django xadmin中logout页面在chrome浏览器中点击关闭页面无效,无法关闭相应的页面 问题原因 高版本的chrome等浏览器不支持在window.colse()的写法 问题 ...

  7. 解决IE浏览器中点击按钮上传无效的问题

    前几天写了上传功能,点击按钮上传,在谷歌中是没有任何问题的: 但是在IE浏览器中点击没有任何效果 源代码如下:  后来发现在Firefox.IE浏览器中button标签内部可以含有其他标签,但是不能对 ...

  8. 微信小程序如何实现点击链接跳转到手机自带浏览器

    最近遇到一个需求.公司有一个业务,制作的小程序需要跳出微信打开一个指定的我们自己的页面,拿到这个需求后我们团队分开去找资料研究方案,通过微信的开发文档.腾讯的第三方开发文档我们都查阅过资料但是最终只找 ...

  9. Spring Boot 国际化及点击链接跳转国家语言

    一.国际化 在SpringBoot中已经自动帮我们配置管理国际化资源的组件,所以我们只需要编写代码就可. @Bean @ConfigurationProperties(prefix = "s ...

随机推荐

  1. BZOJ3791 作业(DP)

    题意: 给出一个长度为n的01序列: 你可以进行K次操作,操作有两种: 1.将一个区间的所有1作业写对,并且将0作业写错: 2.将一个区间的所有0作业写对,并且将1作业写错: 求K次操作后最多写对了多 ...

  2. WEB前后端分离开发中的验证与安全问题

    登录验证以及安全问题: 1.请求接口全部用post方式,在后端判断请求方式是否为post 2.登录密码等敏感信息要加密后传输,如用RSA(支付宝里可下载公私钥生成工具),客户端公钥加密,传到服务器后再 ...

  3. Charles4.2.8抓包(http+https)

    Charles 和 Fiddler 一样都是http抓包工具. 之前用 Fiddler 抓个别 ios 手机 https 报文时总卡在哪里返不回任何数据,后来怀疑是 Fiddler 问题,就考虑使用  ...

  4. COGS 有标号的DAG/强连通图计数

    COGS索引 一堆神仙容斥+多项式-- 有标号的DAG计数 I 考虑\(O(n^2)\)做法:设\(f_i\)表示总共有\(i\)个点的DAG数量,转移考虑枚举DAG上所有出度为\(0\)的点,剩下的 ...

  5. GOF 的23种JAVA常用设计模式总结 01 设计模式的概念分类和功能

    1.简介 软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.它描述了在软件设计过程中的一些不断重复发生的 ...

  6. WCF与Web API在应用上的选择

    在最近发布的Visual  Studio 2012及.NET 4.5中, 微软正式推出新的网络服务框架ASP.NET Web API.作为ASP.NET MVC  4的一部分,ASP.NET Web ...

  7. R_基本统计分析_06

    summary()提供基础的统计信息 sapply(x,FUN,options)可以指定统计函数 fivenum()可以返回图基五数 Hmisc 中的describe(data)返回变量,观测的变量, ...

  8. 【转载】C#中string类使用Remove方法来移除指定位置的字符

    在C#的字符串操作过程中,有时候需要将字符串中指定位置的字符移除,此时就可能使用到字符串类string类中的Remove方法,此方法允许指定移除开始的开始的索引位置,以及移除的长度信息等,共有2个重载 ...

  9. UCOSIII等待多个内核对象

    内核对象 内核对象包括信号量.互斥信号量.消息队列和事件标志组 UCOSIII中允许任务同时等待多个信号量和多个消息队列 主结构体 typedef struct os_pend_data OS_PEN ...

  10. 代替for-in 遍历对象

    object.keys() object.getOwnPropertyName()