Qt for Android调用Android接口将程序移到后台/前台运行
在用Qt开发android应用的时候碰到这样的需求,点击某按钮后将程序最小化,也就是说将其移到后台运行,程序本身没有退出,这相当于点击了Home键。而当程序收到某个广播后又将后台运行的程序打开显示到最前端,原理很简单,同样还是先通过android接口实现相应功能,然后在C++端调用。
首先,如果是一个新创建的Qt工程,需要创建一个AndroidManifest.xml文件,创建过程不再赘述,然后创建一个Java的类,继承于
public class MainActivity extends org.qtproject.qt5.android.bindings.QtActivity
定义一个公有的静态函数
最小化,将程序移到后台:
public static void mini()
{m_instance.moveTaskToBack(true);
}
其中m_instance是本窗口对象this
将软件移到前台
public static void moveTaskToFrount(){if(!m_instance.isForeground(m_instance.getPackageName())){ActivityManager am = (ActivityManager)m_instance.getSystemService(Context.ACTIVITY_SERVICE);am.moveTaskToFront(m_instance.getTaskId(),0);}}
private boolean isForeground(String packageName){ActivityManager activityManager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);List<RunningAppProcessInfo> appProcesses = activityManager.getRunningAppProcesses();if (appProcesses == null)return false;for (RunningAppProcessInfo appProcess : appProcesses) {// The name of the process that this object is associated with.if (appProcess.processName.equals(packageName)&& appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {return true;}}return false;}
需要导入包
import android.app.ActivityManager;
import android.app.ActivityManager.RunningAppProcessInfo;
import android.app.ActivityManager.RunningAppProcessInfo;
然后看C++ 调用
void AndroidInterface::showMini()
{QAndroidJniObject::callStaticMethod<void>("com/lyy/test/MainActivity","mini","()V");
}
void AndroidInterface::moveToFront()
{QAndroidJniObject::callStaticMethod<void>("com/lyy/test/MainActivity","moveTaskToFrount","()V");
}
Qt for Android调用Android接口将程序移到后台/前台运行相关推荐
- 让程序在服务器后台持续运行
让程序在服务器后台持续运行 1.安装screen CentOS系列: yum install screen Ubuntu系列: sudo apt-get install screen 2.创建scre ...
- Qt for Android调用原生接口打开相机拍照并存储照片
Qt开发Android应用,需求是通过调用Android原生接口去打开系统相机拍照,并返回拍摄的照片.原理很简单,现在Java文件中写android代码调用相机,拍照后将将相片存储在SD卡,然后在C+ ...
- Qt for Android 调用android原生接口分享图片或文字
在用Qt开发android应用的时候,有一个需求是通过调用android原生接口去实现图片分享功能,原理很简单,首先在java文件中用android接口封装一个分享功能的方法,然后在C++中调用QAn ...
- Qt for Android调用android原生控件安装apk
Qt开发Android应用,做软件升级的时候,需要调用android借口安装程序, 首先在java文件中用android接口封装一个分享功能的方法,然后在C++中调用 QAndroidJniObjec ...
- Android调用微博接口
1.没有密钥的朋友 请在这里注册一个移动应用,http://open.weibo.com/ .注册成功后在应用信息->基本信息中即可获得APP KEY 和 APP SECRET,没有这两个KEY ...
- android调用web接口,Android调用webservice 接口
以查询手机号码归属地的Web service为例,它的wsdl为 1 在Android项目中导入??Ksoap2-android jar第三方jar包?? 2 Activity代码 public cl ...
- Qt for Android调用android原生Toast控件
用Qt开发Android应用,有时候会想着直接调用android原生的一些组件或者打开某些android的系统界面,比如调用Toast显示消息提醒.打开android系统设置页面.这里主要讲解如何通过 ...
- android调用webservice传参数,android调用webservice接口获取信息
我的有一篇博客上讲了如何基于CXF搭建webservice,service层的接口会被部署到tomcat上,这一篇我就讲一下如何在安卓中调用这些接口传递参数. 1.在lib中放入ksoap2的jar包 ...
- android调用java接口_java/Android 接口调用的几种写法
虽然Handler用的地方比较普遍,但是接口也有他的独特之处,比较直观,然后降低了耦合性 如有一接口,需要将数据传给使用的activity中,接口如下 public interfacePushValu ...
最新文章
- arial unicode ms字体_5个检测商用字体和免费字体合集的网站
- 凝血酶分子机器人_了不得!这个机器人可以拟制癌细胞生长
- 美国“四院院士”特伦斯谈人工智能“瓶颈”:远未达极限,数学家已经有了实现AI可解释性的理论工具...
- 「2019 嵌入式智能国际大会」 399 元超值学生票来啦,帮你豪省 2600 元!
- Ubuntu18.04 快捷键和点击图标无法打开终端显示Failed to execute child process “gnome-terminal“
- 分布式缓存技术memcached学习系列(五)—— memcached java客户端的使用
- Autograd看这一篇就够了!
- 【吐血整理】Java项目源码分享
- matlab nist接口文件,RefProp流体热物理性质计算程序与Matlab接口
- win10 64位 Compaq Visual Fortran(CVF)安装教程
- CentOS7.0离线安装RHadoop
- 王天官系古盐山县(今孟村县王帽圈)人
- canal 记录 ROWDATA TRANSACTIONBEGIN
- Fitness Notes 健身笔记
- 什么是linux系统?
- 使用MATLAB Compiler
- 一些常用的html、css、js的简单应用
- 【Leet Code】229. Majority Element II---Medium
- 钦州学院计算机视频,(钦州学院数学与计算机科学学院.doc
- Java安全之BCEL ClassLoader