Android应用跳转手机QQ方式(聊天和加群)

做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的方式进行加群,加好友的操作,这个方式没试过,不过应该可行,需要的网上搜一下,哈哈哈

本文致遇到同样问题的搬运工们~

好了,溜了溜了~

    原文作者:sruaninny
    原文地址: https://www.jianshu.com/p/1449ad34d76b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞