QtAndroidPrivate Namespace
QtAndroidPrivate 名前空間は、Android 開発を支援する雑多な関数を提供します。詳細...
ヘッダー | #include <QtCore/private/qandroidextras_p.h> |
CMake: QtAndroidPrivate | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::CorePrivate) |
qmake: | QT += core-private |
以来: | Qt 6.2 |
ステータス | 予備 |
この名前空間は開発中であり、変更される可能性があります。
型
(since 6.2) enum class | BindFlag { None, AutoCreate, DebugUnbind, NotForeground, AboveClient, …, ExternalService } |
flags | BindFlags |
関数
(since 6.2) bool | bindService(const QAndroidIntent &serviceIntent, const QAndroidServiceConnection &serviceConnection, QtAndroidPrivate::BindFlags flags = BindFlag::None) |
(preliminary) QFuture<QtAndroidPrivate::PermissionResult> | checkPermission(const QString &permission) |
(preliminary) QFuture<QtAndroidPrivate::PermissionResult> | requestPermission(const QString &permission) |
(since 6.2) void | startActivity(const QAndroidIntent &intent, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr) |
(since 6.2) void | startActivity(const QJniObject &intent, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr) |
(since 6.2) void | startActivity(const QJniObject &intent, int receiverRequestCode, std::function<void (int, int, const QJniObject &)> callbackFunc) |
(since 6.2) void | startIntentSender(const QJniObject &intentSender, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr) |
型の説明
[since 6.2]
enum class QtAndroidPrivate::BindFlag
flags QtAndroidPrivate::BindFlags
この enum はQtAndroidPrivate::bindService と共に、バインドが実行されるモードを記述するために使われます。
定数 | 値 | 説明 |
---|---|---|
QtAndroidPrivate::BindFlag::None | 0x00000000 | オプションなし。 |
QtAndroidPrivate::BindFlag::AutoCreate | 0x00000001 | バインディングが存在する限り、自動的にサービスを作成します。詳細はBIND_AUTO_CREATEのドキュメントを参照してください。 |
QtAndroidPrivate::BindFlag::DebugUnbind | 0x00000002 | バインドを解除するための不一致の呼び出しに対するデバッグヘルプを含みます。詳細はBIND_DEBUG_UNBINDを参照してください。 |
QtAndroidPrivate::BindFlag::NotForeground | 0x00000004 | このバインディングによってターゲットサービスのプロセスをフォアグラウンドのスケジューリング優先度に上げることを許可しないでください。詳細はBIND_NOT_FOREGROUNDを参照してください。 |
QtAndroidPrivate::BindFlag::AboveClient | 0x00000008 | このサービスにバインドしているクライアント・アプリケーションが、このサービスをアプリ自身よりも重要であると考えていることを示します。詳細はBIND_ABOVE_CLIENT のドキュメントを参照。 |
QtAndroidPrivate::BindFlag::AllowOomManagement | 0x00000010 | バインドされたサービスをホストするプロセスが通常のメモリ管理を行うことを許可します。詳細はBIND_ALLOW_OOM_MANAGEMENTドキュメントを参照してください。 |
QtAndroidPrivate::BindFlag::WaivePriority | 0x00000020 | ターゲットサービスのホストプロセスのスケジューリングやメモリ管理の優先度に影響を与えないようにする。詳細はBIND_WAIVE_PRIORITYを参照してください。 |
QtAndroidPrivate::BindFlag::Important | 0x00000040 | このサービスには高い優先度が割り当てられており、必要な時にクライアントが利用できるようになっています。詳細はBIND_IMPORTANTを参照してください。 |
QtAndroidPrivate::BindFlag::AdjustWithActivity | 0x00000080 | アクティビティからバインドする場合、アクティビティがユーザーに表示されているかどうかに基づいてターゲットサービスのプロセスの重要度を上げることを許可します。詳細はBIND_ADJUST_WITH_ACTIVITYを参照してください。 |
QtAndroidPrivate::BindFlag::ExternalService | -2147483648 | バインドされるサービスは分離された外部サービスです。詳細はBIND_EXTERNAL_SERVICEのドキュメントを参照してください。 |
この列挙型は Qt 6.2 で導入されました。
BindFlags型はQFlags<BindFlag>のtypedefです。BindFlagの値のORの組み合わせを格納します。
関数のドキュメント
[since 6.2]
bool QtAndroidPrivate::bindService(const QAndroidIntent &serviceIntent, const QAndroidServiceConnection &serviceConnection, QtAndroidPrivate::BindFlags flags = BindFlag::None)
serviceIntent 、serviceConnection 、flags で指定されたサービスをバインドする。serviceIntent オブジェクトは、接続するサービスを特定する。serviceConnection は、サービスが開始されたり停止されたりするときに情報を受け取るリスナーです。
成功するとtrueを返します。
詳細はAndroidのドキュメントを参照してください。
この関数はQt 6.2で導入されました。
QAndroidIntent 、QAndroidServiceConnection 、BindFlagも参照して ください。
[preliminary]
QFuture<QtAndroidPrivate::PermissionResult> QtAndroidPrivate::checkPermission(const QString &permission)
この関数は開発中であり、変更される可能性がある。
このプロセスが指定されたpermission を持っているかどうかをチェックし、チェック結果を表すQFuture を返す。
注: QPermission は、パーミッションのリクエストに使用することを推奨する API です。QPermission がリクエストしたい Android のパーミッションをカバーしていない場合でも、この予備 API を代わりに使用することができます。
この関数は Qt 6.2 で導入されました。
requestPermission()も参照してください 。
[preliminary]
QFuture<QtAndroidPrivate::PermissionResult> QtAndroidPrivate::requestPermission(const QString &permission)
この関数は開発中であり、変更される可能性がある。
permission をリクエストし、リクエスト結果を表すQFuture を返す。
注: QPermission は、パーミッションのリクエストに使用することを推奨する API です。QPermission にリクエストしたい Android のパーミッションが含まれていない場合でも、この予備 API を代わりに使用することができます。
この関数は Qt 6.2 で導入されました。
checkPermission()も参照してください 。
[since 6.2]
void QtAndroidPrivate::startActivity(const QAndroidIntent &intent, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr)
intent で指定されたアクティビティを開始し、これが NULL でない場合はresultReceiver を通して結果を非同期に提供する。
resultReceiver が NULL の場合、QNativeInterface::QAndroidApplication::context() のstartActivity()
メソッドが呼び出される。そうでない場合は、startActivityForResult()
が呼び出される。
receiverRequestCode は、resultReceiver に固有のリクエストコードで、結果と一緒に返されるため、複数のインテントに同じレシーバーを使用することができます。
この関数は Qt 6.2 で導入されました。
[since 6.2]
void QtAndroidPrivate::startActivity(const QJniObject &intent, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr)
intent で指定されたアクティビティを開始し、これが NULL でない場合はresultReceiver を通して結果を非同期に提供する。
resultReceiver が NULL の場合、QNativeInterface::QAndroidApplication::context() のstartActivity()
メソッドが呼び出される。そうでない場合は、startActivityForResult()
が呼び出される。
receiverRequestCode は、resultReceiver に固有のリクエストコードで、結果と一緒に返されるため、複数のインテントに同じレシーバーを使用することができます。
この関数は Qt 6.2 で導入されました。
[since 6.2]
void QtAndroidPrivate::startActivity(const QJniObject &intent, int receiverRequestCode, std::function<void (int, int, const QJniObject &)> callbackFunc)
リクエストコードreceiverRequestCode を使用してintent で指定されたアクティビティを開始し、callbackFunc を呼び出して結果を提供します。
この関数はQt 6.2で導入されました。
[since 6.2]
void QtAndroidPrivate::startIntentSender(const QJniObject &intentSender, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr)
intentSender で指定されたアクティビティを開始し、これが NULL でない場合はresultReceiver を通して結果を非同期に提供する。
resultReceiver が NULL の場合、QNativeInterface::QAndroidApplication::context() のstartIntentSender()
メソッドが呼び出される。そうでない場合は、startIntentSenderForResult()
が呼び出される。
receiverRequestCode は、resultReceiver に固有のリクエストコードで、結果と一緒に返されるため、複数のインテントに同じレシーバーを使用することができます。
この関数は Qt 6.2 で導入されました。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.