Qt 打开安卓相冊选择图片并获取图片的本地路径

过程例如以下:

  1. 通过 Intent 打开安卓的系统相冊。

    推荐使用 QAndroidJniObject::getStaticObjectField 获取静态字段。

        QAndroidJniObject action = QAndroidJniObject::getStaticObjectField(
    "android/content/Intent",
    "ACTION_GET_CONTENT",
    "Ljava/lang/String;");
  2. 用户在系统相冊选择到一个图片后,在 C++ 代码中获取到图片的 content 地址。

  3. 通过查询得出图片的本地路径。

    Uri uri = data.getData();
    String[] proj = { MediaStore.Images.Media.DATA };
    Cursor actualimagecursor = managedQuery(uri,proj,null,null,null);
    int actual_image_column_index = actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
    actualimagecursor.moveToFirst();
    String img_path = actualimagecursor.getString(actual_image_column_index);
    File file = new File(img_path);

    将上诉的 Java 代码转成 C++ 代码。

    參考 Qt and Android Gallery - MediaStore using QAndroidJniObject

样例下载CallNativeGallery,你也能够选择 fork 这个项目


參考资料:

Qt and Android Gallery - MediaStore using QAndroidJniObject

HOW TO OPEN ANDROID IMAGE GALLERY IN QT

android实现Uri获取真实路径转换成File的方法

Thread: Converting QAndroidJniObject to jobjectArray: most elements are NULL!

How to return an array from JNI to Java?


Qt 打开安卓相冊选择图片并获取图片的本地路径的更多相关文章

  1. Android上传图片之调用系统拍照和从相冊选择图片

    Android上传图片之调用系统拍照和从相冊选择图片 本篇文章已授权微信公众号 guolin_blog (郭霖)独家公布 前言: 万丈高楼平底起,万事起于微末.不知不觉距离上篇博文已近四个月,2015 ...

  2. php远程图片抓取存放到本地路径并生成缩略图

    private function _getcontent($content)    {               $img_dir='../Public/Img/Ycimg'; //远程图片抓取存放 ...

  3. Android实现批量照片上传至server,拍照或者从相冊选择

    近期因为项目需求,须要完毕批量照片上传,折腾了一段时间,最终完毕了,达到了例如以下效果 主界面主要有GridView组成和button组成,当按下一个格点时,会调用相机或者相冊,拍照或者选择相冊照片, ...

  4. Android 打开照相机、获取相册图片、获取图片并裁减

    一.调用照相机 注:surfaceView在当Activity不在前台的时候,会被销毁(onPause方法之后,执行销毁方法)当Activity回到前台时,在Activity执行onResume方法之 ...

  5. Android根据图片Uri获取图片path绝对路径的几种方法【转】

    在Android 编程中经常会用到Uri转化为文件路径,如我们从相册选择图片上传至服务器,一般上传前需要对图片进行压缩,这时候就要用到图片的绝对路径. 下面对我开发中uri转path路径遇到的问题进行 ...

  6. iOS获取相册/相机图片-------自定义获取图片小控件

    一.功能简介 1.封装了一个按钮,点击按钮,会提示从何处获取图片:如果设备支持相机,可以从相机获取,同时还可以从手机相册获取图片. 2.选择图片后,有一个block回调,根据需求,将获得的图片拿来使用 ...

  7. .net 根据图片网络地址获取图片二进制字节数据流

    根据html路径获取图片的字节 /// <summary> ///根据html路径获取图片的字节 /// </summary> /// <param name=" ...

  8. Android -- 加载大图片到内存,从gallery获取图片,获取图片exif信息

    1. 加载大图片到内存,从gallery获取图片 android默认的最大堆栈只有16M, 图片像素太高会导致内存不足的异常, 需要将图片等比例缩小到适合手机屏幕分辨率, 再加载. 从gallery ...

  9. android 根据图片名字获取图片id

    public int getResource(String imageName){ Context ctx=getBaseContext(); int resId = getResources().g ...

随机推荐

  1. Spring学习总结(5)——IOC注入方式总结

    一.构造注入 在类被实例化的时候,它的构造方法被调用并且只能调用一次.所以它被用于类的初始化操作.<constructor-arg>是<bean>标签的子标签.通过其<v ...

  2. hibernate中的事务管理是怎么概念?

    1.JDBC事务 JDBC 事务是用 Connection 对象控制的.JDBC Connection 接口( java.sql.Connection )提供了两种事务模式:自动提交和手工提交. ja ...

  3. PHP服务器环境打开配置文件

    MAC 1.  cd /usr/local/etc/nginx/servers vim www.xxx.com 2. 在/usr/local/etc/nginx/servers目录下,不同的 .con ...

  4. jQuery offset()函数 和 scrollTop()函数

    $(dom).offset() 方法返回或设置匹配元素相对于文档的偏移(位置).{left:100,top:100} $(dom).scrollTop() 方法返回或设置匹配元素的滚动条的垂直位置. ...

  5. iterm恢复默认设置

    命令行执行以下命令即可: defaults delete com.googlecode.iterm2

  6. 【CodeForces】Gargari and Bishops

    依据贪心能够知道,放置的教主必须不能相互攻击到(也就是不在一条对角线上)才干够使得结果最大化. 依据观察能够得到教主相互不攻击的条件是他的坐标和互为奇偶(x + y) 之后直接暴力,处理每一个坐标对角 ...

  7. What is corresponding Cron expression to fire in every X seconds, where X > 60? --转载

    原文地址:http://stackoverflow.com/questions/2996280/what-is-corresponding-cron-expression-to-fire-in-eve ...

  8. ZJOI2002昂贵的聘礼题解

    http://codevs.cn/problem/1324/ 题目大意 一个部落,你能够和社会地位等级的极差不大于M的全部人交易.你能够拿金币直接从一个人手里买东西,也能够从别人那里买到那个人想要的东 ...

  9. Android Studio设置图片背景及主题设置

    因为Android Studio是基于IDEA的,所以IDEA里面能用的插件Android Studio也能用,这次图片背景是依赖IDEA下的一个插件,名为BackgroundImage的插件,用户可 ...

  10. PHP的工作原理和生命周期

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u013778883/article/details/79831035   php是一门适用于web开 ...