問題タブ [qtandroidextras]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2319 参照

java - 文字列パラメーターを使用して AndroidJni 静的メソッドを呼び出す

文字列パラメーターで QAndroidJniObject を使用して、Qt C++ クラスで Java 静的関数を呼び出そうとしています。

これは、私が呼び出している関数を持つ私のJavaクラスです

この関数をC++から次のように呼び出しています

次のエラーが表示されます

エラー: '...' activity,color) を介して自明にコピーできないタイプ 'class QString' のオブジェクトを渡すことはできません。

このエラーを取り除くにはどうすればよいですか

0 投票する
1 に答える
310 参照

android - Qt Android、QRunnable で外部オブジェクトにアクセスするには?

デスクトップでは問題なく動作するスレッド クラスがありますが、Android ではクラッシュします。私の Qt アプリケーションでは、次のような共有オブジェクトを持つタスクが必要です。

主に、次のようにタスクを実行できるようにしたいと考えています。

これはデスクトップで完全に機能します。しかし、ご存知かもしれませんが、Androidでは機能しません。実行Fatal signal 11 (SIGSEGV), code 1, fault addr 0x98 in tid 31727 (Thread (pooled))すると、_p を使用する前に最初の Hello のみが出力されます
。私の質問は次のとおり
です。すべてのスレッドで MyPointer (共有オブジェクト) を使用するにはどうすればよいですか。そのコピーを各スレッドに渡すことはできません。すべてのスレッドでポインターによって渡される必要があります。つまり、すべてのスレッドで共有オブジェクトを使用するにはどうすればよいでしょうか。const ではないメソッドで、各スレッドがオブジェクトを変更する可能性があります。
Qt でマルチスレッド アプリケーションを処理する手法がいくつかあることは知っています。Androidデバイスでの作業に適しているのはどれですか?
Androidで安全なマルチスレッドを行うためにJNIを使​​用する必要がありますか? 私はそう思います!

0 投票する
1 に答える
865 参照

qt - QthreadでQAndroidJniEnvironmentポインタを使用するには?

qtメインスレッドで、これを正常に実行できます:

_envですQAndroidJniEnvironment_envの run 関数で使用しようとするQRunnableと、アプリケーションがクラッシュし、次のエラーが発生します。

これはコードです:

QAndroidJniEnvironmentまたはQAndroidJniObject新しい Qthreadへのポインターを使用する方法を教えてください。そのため、Java プロセスの実行中、アプリケーションの UI は応答し続けます。

0 投票する
1 に答える
245 参照

android - Android - アプリケーションがバックグラウンドのときにダイアログを開始する

通話ダイアログを持つアプリケーションがあります。ロック画面に通話ダイアログを表示しようとしています。アプリケーションがバックグラウンドにないときは機能しましたが、実際にはアプリケーションが開いていてロック画面がアクティブなときは機能しませんでした。
これが私のコードです:

0 投票する
3 に答える
773 参照

android - Qt Android 画面ロック Java の問題

Qt アプリケーションがあり、アプリケーションの実行中に画面が暗くならないようにする必要があります。main.cpp の main() の先頭に次のコードを配置しました。

どれがほとんどのものから来ましたか: Qt for android で画面をオンにしておく方法は? callMethod<void>の代わりに使用することを除いてcallObjectMethod

問題は、アプリケーションが開始されると、巨大な Java ログでクラッシュすることです。これは関連する部分であると思われます。

AndroidManifest.xml に適切な権限 (android.permission.WAKE_LOCK) を追加しました。addFlags() がメイン ビューの外で実行されているために問題が発生しているようです。

ありがとう、イヴァン

0 投票する
1 に答える
1060 参照

qt - 整数配列引数を渡す QMetaObject InvokeMethod メソッド

私はQtにかなり慣れていないので、Android 開発をしようとしています。私は Qt で作業しており、QAndroidJNIEnvironmentを使用しています。コードでQMetaObject::invokeMethodは、QMainWindow ヘッダーでスロットを呼び出すために使用するネイティブ メソッドを実装しています。問題は、Java ファイルのネイティブ メソッドに Java 整数配列 (QAndroindJniObject が jintArray であると私が信じている同等の型) であるパラメーターがあることです。引数を解決するために Q_ARG(type, value ) マクロに配置する対応する c++/Qt 型が見つかりません。jintArray に相当する型は int [] だと思っていたのですが、それを使用するとエラーが発生します。助けてくれてありがとう。

私が受け取るエラーは以下の通りです:

リクエストに応じて、Java 関数の署名を以下に示します。