Из QT под андроид вызываю галерею и выбираю файл. Цель получить ссылку на выбранный файл.
1) Вызываю галлерею
QAndroidJniObject action = QAndroidJniObject::fromString( "android.intent.action.PICK");
QAndroidJniObject intent( "android/content/Intent");
intent.callObjectMethod( "setAction", "(Ljava/lang/String;)Landroid/content/Intent;", action.object<jstring>());
intent.callObjectMethod( "setType", "(Ljava/lang/String;)Landroid/content/Intent;", QAndroidJniObject::fromString("image/*").object<jstring>());
QtAndroid::startActivity( intent.object<jobject>(), 101,this);
2) Обрабатываю ответ выбора
virtual void handleActivityResult(int receiverRequestCode, int resultCode, const QAndroidJniObject & data) override {
jint RESULT_OK = QAndroidJniObject::getStaticField<jint>("android/app/Activity", "RESULT_OK");
if (receiverRequestCode == 101 && resultCode == RESULT_OK) {
QAndroidJniObject activity = QtAndroid::androidActivity();
QAndroidJniObject videoUri = data.callObjectMethod(
"getData",
"()Landroid/net/Uri;");
jstring string = videoUri.object<jstring>(); //ТУТ ПОНИМАЮ ЧТО РЕЗУЛЬТАТ НЕ ТОТ ! - цифровое значение
}
}
Подскажите как из параметра
const QAndroidJniObject & data корректно вытащить путь к файлу ?