<div dir="ltr">Hello,<div><br></div><div>I suggest to remove "this" from QNetworkAccessManager constructore:</div><div><br></div><div>Use </div><div><pre class="" style="color:rgb(51,51,51);font-size:11px;margin-top:0px;margin-bottom:0px;border-radius:0px!important"><span class="" style="color:rgb(128,0,128);border-radius:0px!important">QNetworkAccessManager</span><span class="" style="color:rgb(192,192,192);border-radius:0px!important"> </span>*manager<span class="" style="color:rgb(192,192,192);border-radius:0px!important"> </span>=<span class="" style="color:rgb(192,192,192);border-radius:0px!important"> </span><span class="" style="color:rgb(128,128,0);border-radius:0px!important">new</span><span class="" style="color:rgb(192,192,192);border-radius:0px!important"> </span><span class="" style="color:rgb(128,0,128);border-radius:0px!important">QNetworkAccessManager;</span></pre><pre class="" style="color:rgb(51,51,51);font-size:11px;margin-top:0px;margin-bottom:0px;border-radius:0px!important"><br></pre><pre class="" style="color:rgb(51,51,51);font-size:11px;margin-top:0px;margin-bottom:0px;border-radius:0px!important">instead of</pre><pre class="" style="color:rgb(51,51,51);font-size:11px;margin-top:0px;margin-bottom:0px;border-radius:0px!important"><br></pre><pre class="" style="color:rgb(51,51,51);font-size:11px;margin-top:0px;margin-bottom:0px;border-radius:0px!important"><pre class="" style="margin-top:0px;margin-bottom:0px;border-radius:0px!important"><span class="" style="color:rgb(128,0,128);border-radius:0px!important">QNetworkAccessManager</span><span class="" style="color:rgb(192,192,192);border-radius:0px!important"> </span>*manager<span class="" style="color:rgb(192,192,192);border-radius:0px!important"> </span>=<span class="" style="color:rgb(192,192,192);border-radius:0px!important"> </span><span class="" style="color:rgb(128,128,0);border-radius:0px!important">new</span><span class="" style="color:rgb(192,192,192);border-radius:0px!important"> </span><span class="" style="color:rgb(128,0,128);border-radius:0px!important">QNetworkAccessManager</span>(<span class="" style="color:rgb(128,128,0);border-radius:0px!important">this</span>); // <CRASH></pre></pre></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-06-10 15:04 GMT+01:00 Maik Ziemert <span dir="ltr"><<a href="mailto:mail@moozoom.de" target="_blank">mail@moozoom.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hello,<div><br></div><div>no, I create an instance of QCoreApplication before I use the QNetworkAccessManager:</div><div><br></div><div><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,128,0)">void</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">SimpleQtLibrary</span>::test() // Simple test method (call over JNI)</pre><pre style="margin-top:0px;margin-bottom:0px">{</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span><span style="color:rgb(128,128,0)">this</span>->createCoreApplication();</pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span><span style="color:rgb(128,128,0)">this</span>->createNetworkManager(); // <CRASH></pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span><span style="color:rgb(128,128,0)">this</span>->exec();</pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)">    </span><span style="color:rgb(128,128,0)">return</span>;</pre><pre style="margin-top:0px;margin-bottom:0px">}</pre></div><div><br></div><div>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#808000">void</span><span style="color:#c0c0c0"> </span><span style="color:rgb(128,0,128)">SimpleQtLibrary</span>::createCoreApplication()</pre>
<pre style="margin-top:0px;margin-bottom:0px">{<span style="color:#c0c0c0">   </span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#808000">int</span><span style="color:#c0c0c0"> </span>argc<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span><span style="color:#000080">1</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#808000">char</span><span style="color:#c0c0c0"> </span>*<span style="color:#c0c0c0"> </span>argv[]<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span>{<font color="#008000">„</font><span style="color:#008000">my.app"</span>,<span style="color:#c0c0c0"> </span><span style="color:#000080">NULL</span>};</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#808000">if</span><span style="color:#c0c0c0"> </span>(<span style="color:#800080">QCoreApplication</span>::instance()<span style="color:#c0c0c0"> </span>==<span style="color:#c0c0c0"> </span><span style="color:#000080">NULL</span>)</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span>{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">        </span><span style="color:#808000">new</span><span style="color:#c0c0c0"> </span><span style="color:#800080">QCoreApplication</span>(argc,<span style="color:#c0c0c0"> </span>argv);</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span>}</pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#808000">return</span>;</pre>
<pre style="margin-top:0px;margin-bottom:0px">}</pre></div><div><br></div><div>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#808000">int</span><span style="color:#c0c0c0"> </span><span style="color:rgb(128,0,128)">SimpleQtLibrary</span>::exec()</pre>
<pre style="margin-top:0px;margin-bottom:0px">{</pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#808000">return</span><span style="color:#c0c0c0"> </span><span style="color:#800080">QCoreApplication</span>::exec();</pre>
<pre style="margin-top:0px;margin-bottom:0px">}</pre><pre style="margin-top:0px;margin-bottom:0px"><pre style="margin-top:0px;margin-bottom:0px"><span style="color:#808000">void</span><span style="color:#c0c0c0"> </span><span style="color:#800080">DTQSimpleTeamDriveLibrary</span>::createNetworkManager()</pre><pre style="margin-top:0px;margin-bottom:0px">{</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#800080">QNetworkAccessManager</span><span style="color:#c0c0c0"> </span>*manager<span style="color:#c0c0c0"> </span>=<span style="color:#c0c0c0"> </span><span style="color:#808000">new</span><span style="color:#c0c0c0"> </span><span style="color:#800080">QNetworkAccessManager</span>(<span style="color:#808000">this</span>); // <CRASH></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:#c0c0c0">    </span><span style="color:#808000">return</span>;</pre><pre style="margin-top:0px;margin-bottom:0px">}</pre></pre></div><div><div class="h5"><div><pre style="margin-top:0px;margin-bottom:0px"></pre><div><br></div></div><div><br><div><blockquote type="cite"><div>Am 10.06.2016 um 15:58 schrieb Malek Khlif <<a href="mailto:qt.malek.khlif@gmail.com" target="_blank">qt.malek.khlif@gmail.com</a>>:</div><br><div><div dir="ltr">Hello,<div><br></div><div>I suppose that you use QNetworkAccessManager before that you create an instance of <span style="font-size:12.8px">QCoreApplication</span><span style="font-size:12.8px"> .</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-06-10 15:53 GMT+02:00 Maik Ziemert <span dir="ltr"><<a href="mailto:mail@moozoom.de" target="_blank">mail@moozoom.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have a big problem with my Qt library - integrated in a native Android App over JNI.<br>
<br>
<br>
I wrote a static qt library. In this library I instantiate a QNetworkAccessManager for using a network communication:<br>
<br>
<br>
@QT CODE<br>
<br>
void SimpleQtLibrary::createNetworkManager()<br>
{<br>
<br>
        QNetworkAccessManager *manager = new QNetworkAccessManager(this);<br>
<br>
        <CRASH><br>
<br>
        ...<br>
<br>
        return;<br>
}<br>
<br>
@QT CODE END<br>
<br>
<br>
I know, this async manager needs a own thread for internal signals.<br>
<br>
<br>
In my android project I will integrate this qt static library over jni:<br>
<br>
<br>
@JNI CODE<br>
<br>
#include <string.h><br>
#include <jni.h><br>
#include <android/log.h><br>
<br>
#include <qtlibrary.h><br>
<br>
static QtLibrary qtLib;<br>
<br>
extern "C" {<br>
        JNIEXPORT void JNICALL Java_com_company_qtlibrary_Interface_test(JNIEnv * env, jobject obj);<br>
};<br>
<br>
JNIEXPORT void JNICALL Java_com_company_qtlibrary_Interface_test(JNIEnv * env, jobject obj)<br>
{<br>
        qtLib.test();<br>
<br>
        return;<br>
}<br>
<br>
@JNI CODE END<br>
<br>
<br>
If I let running my android app, while the qt call over JNI, the app crashes:<br>
<br>
Fatal signal 6 (SIGABRT) at 0x000072f1 (code=-6), thread 29425<br>
<br>
<br>
How can I solve this problem? The QCoreApplication event loop works on the main thread (in Android), e.g. I can create a QTimer with a tick() every second.<br>
<br>
<br>
Please help me in this case. I dont know what I can do to find a goof solution.<br>
<br>
<br>
Thank you in advanced!<br>
<br>
_______________________________________________<br>
Android-development mailing list<br>
<a href="mailto:Android-development@qt-project.org" target="_blank">Android-development@qt-project.org</a><br>
<a href="http://lists.qt-project.org/mailman/listinfo/android-development" rel="noreferrer" target="_blank">http://lists.qt-project.org/mailman/listinfo/android-development</a><br>
</blockquote></div><br></div>
</div></blockquote></div><br></div></div></div></div></blockquote></div><br></div>