Qt On Android 一键加QQ群



  • Qt On Android 一键加QQ群

    源代码:这里
    apk:这里

    前言:刚学习了qt日志系统,打算做一个关于日志的小游戏,提到日志,自然想到黑客类游戏

    游戏设计思路:
    1.加入qq群 310624686
    2.获取管理员qq 973504660
    3.入侵管理员邮箱 账号973504660@qq.com,密码123456789
    4.查看邮件,登录官网 https://qtdream.com/
    5.入侵网站,账号973504660@qq.com 密码admin
    ...

    如果做假画面,乐趣不高,想做一个真游戏,第一步就要真的加真的qq群

    qq群官网给出android代码

    /****************
    *
    * 发起添加群流程。群号:萌梦社区(310624686) 的 key 为: b_hhiJiatqQz7g4RRXo4bs6e2-u5cVpv
    * 调用 joinQQGroup(b_hhiJiatqQz7g4RRXo4bs6e2-u5cVpv) 即可发起手Q客户端申请加群 萌梦社区(310624686)
    *
    * @param key 由官网生成的key
    * @return 返回true表示呼起手Q成功,返回fals表示呼起失败
    ******************/
    public boolean 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);
            return true;
        } catch (Exception e) {
            // 未安装手Q或安装的版本不支持
            return false;
        }
    }
    

    1.新建MyCommon类,头文件,源文件见截图

    0_1522579842991_1.png

    0_1522579862135_2.png

    2.qt用QAndroidJniObject调用java代码,本来想在qt直接调用intent.setData方法,但是qt没有Uri.parse,万般无奈,只能自己造个java【ExtendsQtWithJava.java】,路径【工程\android\src\an\qt\useJar\ExtendsQtWithJava.java】
    注意包名为an.qt.useJar;

    0_1522580096774_3.png

    3.修改AndroidManifest.xml的包名为an.qt.useJar;

    0_1522580471445_4.png

    在xml代码里修改activity的android:name="an.qt.useJar.ExtendsQtWithJava"

    0_1522580559960_5.png

    4.main.cpp里面注册MyCommon,供qml调用
    qmlRegisterType<MyCommon>("MyCommon", 1, 0, "MyCommon");

    5.qml调用

    0_1522580868086_6.png

    6.界面截图

    1_1522581029960_TIM图片20180401175339.jpg

    0_1522581029959_TIM图片20180401175329.jpg

    2_1522581029960_TIM图片20180401175346.jpg


  • 网站研运

    @青山白云 做一个黑技术,加群。好棒!这也提供了Android APP相互唤醒的功能,还是挺出色的呢。🤗 🤗 😊



  • 有没有代码下载?而且没太看懂,到底是干嘛的?为了验证日志系统的使用?还是真的可以入侵群?



  • @stlcours 原理就是使用了http特殊的scheme,用来表示跳转到QQ群的。
    其实QtWebEngine也有这样的处理逻辑,叫做QWebEngineUrlSchemeHandler类。有兴趣可以了解一下。



  • 有想法,虽然也没有看明白



  • @stlcours 帖子最上面有源代码下载



  • @linbin823 本质是qt生成apk,里面调用java代码,实现一键加qq群


 

走马观花

最近的回复

  • @chinasmu Webkit网络的部分可能不是受到Qt控制的,扩展性较差,所以呢,还不能通过代码的方式侦听网络收发数据。但是WebEngine就可以。如果可以的话,试试Qt WebEngine。😺

    阅读更多
  • C

    我用qt建了个对话框程序,里面加了个webkit,请问有办法获取该控件的全部网络封包通信数据吗?
    不采用windows hook recv和send函数的形式,或者有没有第三方的控件可以这样做

    阅读更多
  • 这个错误不是编译器的错误,而是IntelliSense的错误。
    这种情况,可以不用太担心。

    如果你使用MSVC编译应用程序,那么最好安装Qt Visual Studio Addon,使用这个插件同步开发Qt应用程序。
    不过一个小小的建议,就是Qt Creator写Qt程序非常直观,不需要在Visual Studio中那么麻烦,而且Qt Creator是强制安装的,基本上你安装了Qt 5.12,就可以在安装的目录中找到它。QAxContainer是Qt的模块activeQt中的,需要在pro文件中写QT += axcontainer,才会找到这个类。

    阅读更多
  • C

    VS2017 Qt5.12
    新建一个空的QWidget对话框,编译执行
    可以成功生成并执行,但是错误列表里显示

    傲游截图20190217212931.png

    exe文件能够成功生成。

    另外的问题:我在vs2017编译环境中使用qt,需要用到 QAxContainer,我看帮助文档里说要在.pro中加入CONFIG+=qaxcontainer,但是vs2017创建的程序中没有.pro这个文件,那这句话应该加在哪里呢?

    还有我想建一个有浏览器控件的对话框程序,如果想在5.12版本中加入QtWebKit应该如何使用

    阅读更多

关注我们

微博
QQ群











召唤伊斯特瓦尔