Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Getting AssetManager pointer from AAssetManager_fromJava (Android Qt6.9.1)
Forum Updated to NodeBB v4.3 + New Features

Getting AssetManager pointer from AAssetManager_fromJava (Android Qt6.9.1)

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
1 Posts 1 Posters 49 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SMF-QtS Offline
    SMF-QtS Offline
    SMF-Qt
    wrote last edited by SMF-Qt
    #1

    I was given this code to access the Android asset manager, I think the "activity.object<jobject>()" is wrong because when I run the App it errors:

    QJniEnvironment env;
    QJniObject activity;
    if (env.isValid())
    {
        activity = QJniObject::callStaticObjectMethod("org/qtproject/qt/android/QtNative", "activity", "()Landroid/app/Activity;");
        if (activity.isValid())
        {
            assetManager = AAssetManager_fromJava(env.jniEnv(), activity.object<jobject>());
        }
    }
    

    Running the app gives the following error:

    F/.home.QtTest: runtime.cc:716] JNI DETECTED ERROR IN APPLICATION: jfieldID long android.content.res.AssetManager.mObject not valid for an object of class org.qtproject.qt.android.bindings.QtActivity
    F/.home.QtTest: runtime.cc:716]     in call to GetLongField
    F/.home.QtTest: runtime.cc:716]     from void org.qtproject.qt.android.QtNative.startQtApplication()
    

    Can anyone suggest a correct value?

    1 Reply Last reply
    0

    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Get Qt Extensions
    • Unsolved