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. How to get an int value using QtAndroid::androidActivity().callObjectMethod?
Forum Updated to NodeBB v4.3 + New Features

How to get an int value using QtAndroid::androidActivity().callObjectMethod?

Scheduled Pinned Locked Moved Solved Mobile and Embedded
4 Posts 2 Posters 608 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.
  • N Offline
    N Offline
    Nelson_Piquet
    wrote on last edited by Nelson_Piquet
    #1

    I know that using the following method, I could get a string from the Android main activity to Qt/C++ side.

    QAndroidJniObject my_string = QtAndroid::androidActivity().callObjectMethod<jstring>("someMethod");
    QString  my_qsrting = my_string.toString();
    

    Above is great if someMethod returns a Java String. But what if someMethod returns an int? Following way does not work in Qt? It has compilation errors.

    QAndroidJniObject my_int = QtAndroid::androidActivity().callObjectMethod<jint>("someMethod");
    

    How can I collect an int or a jint using QtAndroid::androidActivity().callObjectMethod?

    Going through this link, I could not find the answer to my question.

    Qt version:
    Qt 5.12 commercial version

    KroMignonK 1 Reply Last reply
    0
    • N Nelson_Piquet

      I know that using the following method, I could get a string from the Android main activity to Qt/C++ side.

      QAndroidJniObject my_string = QtAndroid::androidActivity().callObjectMethod<jstring>("someMethod");
      QString  my_qsrting = my_string.toString();
      

      Above is great if someMethod returns a Java String. But what if someMethod returns an int? Following way does not work in Qt? It has compilation errors.

      QAndroidJniObject my_int = QtAndroid::androidActivity().callObjectMethod<jint>("someMethod");
      

      How can I collect an int or a jint using QtAndroid::androidActivity().callObjectMethod?

      Going through this link, I could not find the answer to my question.

      Qt version:
      Qt 5.12 commercial version

      KroMignonK Offline
      KroMignonK Offline
      KroMignon
      wrote on last edited by KroMignon
      #2

      @Nelson_Piquet said in How to get an int value using QtAndroid::androidActivity().callObjectMethod?:

      How can I collect an int or a jint using QtAndroid::androidActivity().callObjectMethod?

      To get int, you have to use callMethod():

      int my_int = QtAndroid::androidActivity().callMethod<jint>("someMethod");
      

      ==> take a look at documentation: QAndroidJniObject Class

      It is an old maxim of mine that when you have excluded the impossible, whatever remains, however improbable, must be the truth. (Sherlock Holmes)

      N 2 Replies Last reply
      2
      • KroMignonK KroMignon

        @Nelson_Piquet said in How to get an int value using QtAndroid::androidActivity().callObjectMethod?:

        How can I collect an int or a jint using QtAndroid::androidActivity().callObjectMethod?

        To get int, you have to use callMethod():

        int my_int = QtAndroid::androidActivity().callMethod<jint>("someMethod");
        

        ==> take a look at documentation: QAndroidJniObject Class

        N Offline
        N Offline
        Nelson_Piquet
        wrote on last edited by
        #3

        @KroMignon said in How to get an int value using QtAndroid::androidActivity().callObjectMethod?:

        callMethod

        Thanks a bunch :D

        1 Reply Last reply
        0
        • KroMignonK KroMignon

          @Nelson_Piquet said in How to get an int value using QtAndroid::androidActivity().callObjectMethod?:

          How can I collect an int or a jint using QtAndroid::androidActivity().callObjectMethod?

          To get int, you have to use callMethod():

          int my_int = QtAndroid::androidActivity().callMethod<jint>("someMethod");
          

          ==> take a look at documentation: QAndroidJniObject Class

          N Offline
          N Offline
          Nelson_Piquet
          wrote on last edited by
          #4

          @KroMignon said in How to get an int value using QtAndroid::androidActivity().callObjectMethod?:

          @Nelson_Piquet said in How to get an int value using QtAndroid::androidActivity().callObjectMethod?:

          How can I collect an int or a jint using QtAndroid::androidActivity().callObjectMethod?

          To get int, you have to use callMethod():

          int my_int = QtAndroid::androidActivity().callMethod<jint>("someMethod");
          

          ==> take a look at documentation: QAndroidJniObject Class

          This fixes my problem!

          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