Qt开发Android应用,做软件升级的时候,需要调用android借口安装程序, 首先在java文件中用android接口封装一个分享功能的方法,然后在C++中调用 QAndroidJniObject ::callStaticMethod即可。

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

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

然后定义一个公有的静态函数

public static void installApk(String filePath,QtActivity activity){Intent intent = new Intent();// 执行动作intent.setAction(Intent.ACTION_VIEW);File file = new File(filePath);// 执行的数据类型intent.setDataAndType(Uri.fromFile(file),"application/vnd.android.package-archive");activity.startActivity(intent);}

其中filePath是安装包所在的存储位置,由C++传入

接下来看看C++端的调用方式

void AndroidInterface::installApk(const QString &filePath)
{QAndroidJniObject jFilePath = QAndroidJniObject::fromString(filePath);QAndroidJniObject activity = QtAndroid::androidActivity();QAndroidJniObject::callStaticMethod<void>("com/lyy/test/MainActivity","installApk","(Ljava/lang/String;Lorg/qtproject/qt5/android/bindings/QtActivity;)V",jFilePath.object<jstring>(),activity.object<jobject>());
}

这里直接传入安装包所在的位置即可。

Qt for Android调用android原生控件安装apk相关推荐

  1. JS与APP原生控件交互

    "热更新"."热部署"相信对于混合式开发的童鞋一定不陌生,那么APP怎么避免每次升级都要在APP应用商店发布呢?这里就用到了混合式开发的概念,对于电商网站尤其显 ...

  2. Android 原生控件之三 ProgressBar

    Android 原生控件之三 ProgressBar 相关 来源 开始 不确定的进度 确定的进度 XML属性 1.android:animationResolution 2.android:indet ...

  3. Android 原生控件之一 TextView

    Android 原生控件之一 TextView 前言 来源 开始 XML属性 1.android:allowUndo 2.android:autoLink 3.android:autoSizeMaxT ...

  4. Android 原生控件之二 ImageView

    Android 原生控件之二 ImageView 相关 来源 开始 XML属性 1.android:adjustViewBounds 2.android:baseline 3.android:base ...

  5. Android常用酷炫控件(开源项目)github地址汇总

    转载一个很牛逼的控件收集帖... 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.Gri ...

  6. android什么控件能够输入多行文字,Android开发:文本控件详解——EditText(一)基本属性...

    一.简单实例: EditText输入的文字样式部分的属性,基本都是和TextView中的属性一样. 除此之外,EditText还有自己独有的属性. 二.基本属性: hint 输入框显示的提示文本 te ...

  7. android设计ip输入框,Android下自定义IP控件

    在Android原生控件中,没有IP输入控件,于是自定义一个,如果有bug或者代码上的问题,欢迎大家提出,先谢谢大家. 控件代码如下: import android.content.Context; ...

  8. Android游戏开发系统控件-CheckBox

    Android游戏开发系统控件-CheckBox 2012/5/11 星期五 CheckBox是Android系统最普通的UI控件,继承了Button按钮 下面通过一个实例来学习 作者:wwj 功能: ...

  9. Android游戏开发系统控件-Dialog

    Android游戏开发系统控件-Dialog Dialog(对话框)在Android应用开发中经常用到,下面是学习<Android游戏编程从零开始>一书,关于Dialog的初步学习. 创建 ...

最新文章

  1. Spring依赖注入(DI)
  2. 国家语言,语言代码,locale id对应表
  3. List「Object[]」转Map「Integer,String」处理
  4. OJ1001: 植树问题
  5. 【系统】CentOS、Ubuntu、Debian三个linux比较异同
  6. 动态加载JavaScript文件
  7. js拾遗: replace 替换参数
  8. Git warning:LF will be replaced by CRLF in readme.txt的原因与解决方案
  9. 试用期java_Java试用资源
  10. OpenGLES.gpus_ReturnNotPermittedKillClient
  11. 各类曲线的参数方程_常见曲线的参数方程
  12. C语言: gotoxy函数
  13. 运动目标检测 光流法
  14. matlab误码率理论,QDPSK理论误码率与实际误码率matlab仿真程序
  15. 软件测试人员提升测试技能的10个妙招分享
  16. 守护进程方式保证App不被杀死
  17. Android椭圆offon按钮,如何使椭圆闪烁?
  18. 苹果cmsV10MXone Pro自适应模板 站长亲测 全网首发
  19. 手机共享电脑网络上网
  20. 索引是什么,怎么确定索引

热门文章

  1. 【教师节福利】长大后我就成了你
  2. SQL数据导入导出问题总结
  3. 突发热点事件下微博高可用注册中心vintage的设计\u0026实践
  4. exportfs+NFS客户端问题
  5. 【转】多种文件上传绕过手法
  6. Alaya Webdav Server 0.0.10 发布
  7. C++11 中STL库中新增内容
  8. 用户sa 登陆失败 SQLServer 错误18456 图解
  9. 打造Ubuntu下的SLAMP
  10. 【必备知识点】JavaScript里面那些天天使用的API