Question about extending QtAndroidExtras

Phil Thompson phil at riverbankcomputing.com
Mon May 11 21:39:37 BST 2020


On 11/05/2020 18:38, Kálmán Viktor wrote:
> Hello!
> 
> I'm wondering if it would be possible to
> extend QAndroidJniObject's callStaticMethod to a version that supports
> passing in a single string argument and the return value is also a 
> string.
> 
> I tried something like this locally, but both gave me JNI error when 
> trying
> to use them (the parameterless int return valued callStaticMethod works
> fine but would it be good to pass in string,  same for return value), 
> but
> I'm not really familiar with SIP so it was just guess work (also tried
> changing int to QString but that also gave me an error)
> 
>     static int callStaticMethod(const char *className, const char
> *methodName, const char *signature, const char *parameter);
> %MethodCode
>         sipRes = QAndroidJniObject::callStaticMethod<int>(a0, a1, a2, 
> a3);
> %End
> 
>     static int callStaticMethod(const char *className, const char
> *methodName, const char *parameter);
> %MethodCode
>         sipRes = QAndroidJniObject::callStaticMethod<int>(a0, a1,
> "(Ljava/lang/String;)I", a2);
> %End

And what about other combinations of arguments? Each combination would 
have to be implemented on a case by case basis and I don't want to start 
taking random requests.

Phil


More information about the PyQt mailing list