Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Qt 打開安卓相冊選擇圖片並獲取圖片的本地路徑

Qt 打開安卓相冊選擇圖片並獲取圖片的本地路徑

編輯:關於Android編程

Qt 打開安卓相冊選擇圖片並獲取圖片的本地路徑

步驟如下:

通過 Intent 打開安卓的系統相冊。

推薦使用 QAndroidJniObject::getStaticObjectField 獲取靜態字段。

    QAndroidJniObject action = QAndroidJniObject::getStaticObjectField(
                "android/content/Intent",
                "ACTION_GET_CONTENT",
                "Ljava/lang/String;");

用戶在系統相冊選擇到一個圖片後,在 C++ 代碼中獲取到圖片的 content 地址。

通過查詢得出圖片的本地路徑。

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?


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved