Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Qt
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Qt Как создать плагин для qml http://www.cyberforum.ru/qt/thread2030948.html
Добрый день, форумчане! Дайте совет: как можно реализовать плагин для qml? Суть такова: в плагине лежит кастомный элемент, его выцепляет и рисует приложение.
Вывод полученных значений в главном окне программы C++ Qt
Добрый день, уважаемые форумчане! Помогите пожалуйста реализовать или подскажите какие возможности Qt можно использовать для данной задачи: Итогом выполнения программы является нахождение двух...
Неправильная загрузка кнопки при работе с анимацией C++ Qt
У меня есть виджет, на который я кладу кнопку и задаю ей в файле cpp следущий код: ui.pushButton->setVisible(false); QGraphicsOpacityEffect *eff = new...
C++ Qt Как сменить имя файла с помощью SetFileName Нужно сделать так, чтобы в различных ситуациях название файла было разным и зависело от нескольких параметров. Я написал во так: file.setFileName(QString("%1 %2... http://www.cyberforum.ru/qt/thread2030792.html
C++ Qt Перевод не отображается на форме при запуске проекта http://www.cyberforum.ru/qt/thread2030557.html
Открыла проект в Qt Creator, нажала там lupdate, получила файл .ts. Открыла его в Qt Linguist, записала туда перевод, скомпилировала. Далее перенесла полученный файл .qm куда нужно. И при запуске...
Arduino Uno + Deca Wave DW1000 C++ Qt
Доброго времени суток друзья. Имеется Ардунка уно и Дека Вейв ДВ1000(3 якоря, 1 тэг), нужно чтобы тек передавал свои координаты ардуинке, прочитав документацию, я так понял, что делать это нужно с...
Вывод картинки из буфера C++ Qt
доброго времени суток! собственно есть библиотека которая распознает картинки, в ней есть функция которая возвращает параметры изображения <имя функции>(uint HorSize, uint VerSize void* Image, uint...
C++ Qt Удаление кнопки в qt написал вот такой код #include "widget.h" #include "ui_widget.h" #include "time.h" // для рандома Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ... http://www.cyberforum.ru/qt/thread2030328.html
C++ Qt Qt и dll c# http://www.cyberforum.ru/qt/thread2030148.html
День добрый. Подскажите пожалуйста можно ли к QT проекту подключить DLL проект написанный на С# и использовать методы оттуда?
C++ Qt отсутствие qwtkWidgets в Qt Пытаюсь повторитьпример: https://github.com/UnaNancyOwen/qt_visualizer но у меня в Qt Creator нету qwtkWidgets, хотя по идеи при установки ставил галочки на поддержку VTK в Qt. Версию VTK тянул с... http://www.cyberforum.ru/qt/thread2030112.html
VAV2001
0 / 0 / 0
Регистрация: 09.12.2015
Сообщений: 4
31.08.2017, 09:08  [ТС] 0

Qt android JNI - Вызов галереи

31.08.2017, 09:08. Просмотров 644. Ответов 2
Метки (Все метки)

Ответ

нет не получается - путь указанный в URI ссылке не соответствует реальности, да и имя файла тоже не такое.

Тут один выход - интегрировать в свое приложение ява-класс и обращаясь к нему просить конвертировать URI в полный путь и возвращать его тебе.

Пример ява-класса:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class MyFilePath extends org.qtproject.qt5.android.bindings.QtActivity{
    public static String getFileName(Context context, Uri uri) {
        String fileName = "";
                 Cursor cursor = null;
                 try {
                     String[] projection = { MediaStore.Video.Media.DISPLAY_NAME };
                     cursor = context.getContentResolver().query(uri, projection, null, null, null);
                     int nameIndex = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DISPLAY_NAME);
                     cursor.moveToFirst();
                     fileName = cursor.getString(nameIndex);
                 } finally {
                     if (cursor != null) {
                         cursor.close();
                     }
                 }
                 return fileName;
        }
}
Ну и на стороне своего приложения отправляем URI ссылку:
C++ (Qt)
1
2
3
4
5
6
QAndroidJniObject FotoFile = QAndroidJniObject::callStaticObjectMethod(
                            "org/qtproject/qt5/android/bindings/MyFilePath",
                            "getFileName",
                            "(Landroid/content/Context;Landroid/net/Uri;)Ljava/lang/String;",
                            QtAndroid::androidActivity().object<jobject>(),
                            fileURI.object<jobject>());


Вернуться к обсуждению:
Qt android JNI - Вызов галереи
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.08.2017, 09:08
Готовые ответы и решения:

Qt и JNI вызов java класса
Всем привет, недавно делал Android приложение, использовал Jni. Вроде было не сильно сложно. Сейчас...

Вызов C++ dll без использования JNI
Можно ли вызывать функции dll которые написаны &quot;в стиле&quot; С (без JNI): extern &quot;C&quot;...

JNI и Android studio
Цель: вывести метод шифрования в отдельный модуль на C++ (Для усложнения реверсинженеринга). ...

Вызов системной JNI-функции из своего приложения
Имеется Highscreen ICE 2, у которого есть второй дисплей на задней панели(OLED). Хочу получить...

Android получение фотографий из галереи
Все привет! Необходимо реализовать получение масса всех фотографий из галерей + камеры. получать...

2
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru