用Qt开发Android应用,有时候会想着直接调用android原生的一些组件或者打开某些android的系统界面,比如调用Toast显示消息提醒、打开android系统设置页面。这里主要讲解如何通过Qt调用android原生的Toast来显示消息提醒。

首先,如果是一个新创建的Qt工程,需要创建一个AndroidManifest.xml文件,创建过程不再赘述,然后创建一个java的类,继承于

public class MainActivity extends org.qtproject.qt5.android.bindings.QtActivity

调用Toast 需要用到Handler,要不然无法调用

private static Handler   mHandler;

接着看代码

private static Handler m_handler = new Handler() {@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case 1:Toast toast = Toast.makeText(m_instance,(String)msg.obj, Toast.LENGTH_SHORT);toast.show();break;};}};

然后定义一个静态函数 供Qt调用

public static void makeToast(String s){m_handler.sendMessage(m_handler.obtainMessage(1, s));}

OK,这时候Qt就可以通过makeToast函数来调用Toast控件显示相应的消息了,调用方式如下:

QAndroidJniObject javaToast = QAndroidJniObject::fromString(text);
QAndroidJniObject::callStaticMethod<void>("com/lyy/test/MainActivity","makeToast","(Ljava/lang/String;)V",javaToast.object<jstring>());

其中 text就是要显示的内容,com/lyy/test/MainActivity是java类的包路径。

Qt for Android调用android原生Toast控件相关推荐

  1. Android Toast控件

    Toast控件 Toast是Android系统提供的轻量级信息提醒机制,用于即使向用户提示.显示在最上层并显示一段时间后自动消失. 代码: Toast.makeText(Context,Text,Ti ...

  2. Android开发三:常用控件1--TextView、EditText、Button

    上一节写到android的工程目录结构,这一节继续,开始学习控件,中间的跨度挺大,关于Activity和intent的知识我就略过了,原因很简单,网上的关于那个的资料特别多,而且理论的东西我这都是了解 ...

  3. android第三方代码,Android--第三方控件--okHttp(示例代码)

    Android中有很多的第三方控件,其中OkHttp是一个很强大的用于网络加载的第三方控件,当然了,它的内部也是使用原生的代码封装好的.今天我们就来看一下OkHttp的简单用法: 说到网络请求,肯定就 ...

  4. Android开发之日期时间控件选择

    Android开发之日期时间控件选择 文章目录 前言 一.创建弹出Layout 1.1 新建Layout,修改样式为LinearLayout 1.2 Layout中添加日期和时间控件 二.新建Date ...

  5. Study on Android【四】--显示控件使用

    Android的界面显示同样也是基于控件的.通常是用View(包括ViewGroup)控件配上XML的样式来做的.具体细节不想说了,可以参考 Samples里的ApiDemos/View,和View的 ...

  6. Android:Socket客户端开发,Android 的Socket客户端优化,Android非UI线程修改控件程序崩溃的问题

    一.Android:Socket客户端开发 创建一个工程 我们要做的是按下按键之后,去往服务器 (服务器) 或者我们自己写的服务器 ,给他发送一些预定好的东西 然后打开操作界面 然后修改一下 你要发送 ...

  7. 让一个图片填满一个控件_如何在Android中实现一个全景图控件(二)

    一.背景 在 如何在Android中实现一个全景图控件(一)中,介绍了项目的一些基本情况(有 demo 演示),如果项目对你有帮助,希望文章赏个赞,项目 star 一下. 项目地址:https://g ...

  8. Android开发的之基本控件和详解四种布局方式

    Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...

  9. android 自定义view控件,Android 自定义View——自定义View控件

    Android给我们提供了大量的View控件,但这还是远远满足不了我们的要求,有时候开发所需要的控件形式是在Android提供的控件中是不存在,这就需要我们自己去定义一个.那么如何自定义控件? 学习自 ...

最新文章

  1. CF5A Chat Server's Outgoing Traffic(字符串模拟,find函数的应用)难度⭐
  2. 官司一打 20 年,Linux 抄袭 Unix 终有定论,原告被 “ 熬死 ” 、IBM赔了上亿
  3. Apache Spark 介绍的演讲ppt (slice),全英文
  4. Lfie has sweet
  5. 《Objective-c》-(第一个OC程序)
  6. 视频造假_如何发现“深造假”面部切换视频
  7. 【opencv有趣应用】opencv + YOLOV3 + COCO数据集的简单应用
  8. 银联无卡涉及关键词整理
  9. 百度文库下载工具(所有源码)
  10. dep指定版本 go_Go语言包管理工具dep的安装与使用
  11. 怎样清理xp系统垃圾
  12. 计算机无法识别苹果6手机,电脑无法识别iphone6怎么处理
  13. Halcon轮廓提取
  14. css实现圆形进度条
  15. springDataJpa @Query注解多条件动态模糊分页查询,传入形参对象
  16. 【webrtc】web端打开日志及调试
  17. VS Code 中选中英文单词大小写切换快捷键
  18. 天龙八部哪个服务器里面人数最多的,天龙八部怀旧服:不删档各大门派人数出来了!你猜哪个门派人多?...
  19. Myeclipes解决SECURITY ALTER:INTEGRITY CHECK ERROR
  20. DVWA1.9之文件上传漏洞High级多种方法

热门文章

  1. 0320互联网新闻 | 网易《明日之后》全球营收突破1.25亿美元;阿里AI labs宣布投入1亿元进行方言保护...
  2. LeetCode_104.二叉树的最大深度
  3. lunix 命令积累
  4. Git命令集之八——提交命令
  5. Linux中sudo配置
  6. 目标跟踪_MeanShift
  7. (转)那些年我们一起清除过的浮动
  8. Unity3d与android通信
  9. C#实现Access导入导出Excel
  10. 实例:三层交换机VLAN间路由配置命令