このページでは

QtAndroidPrivate Namespace

QtAndroidPrivate ネームスペースは、Android 開発を支援するためのさまざまな関数を提供しています。詳細...

ヘッダー: #include <QtCore/private/qandroidextras_p.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS CorePrivate)
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)
(technology preview) QFuture<QtAndroidPrivate::PermissionResult> checkPermission(const QString &permission)
(technology preview) 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

この列挙型は、QtAndroidPrivate::bindService と共に使用され、バインディングが実行されるモードを記述するために用いられます。

定数値説明
QtAndroidPrivate::BindFlag::None0x00000000オプションなし。
QtAndroidPrivate::BindFlag::AutoCreate0x00000001バインディングが存在する限り、サービスを自動的に作成します。詳細については、BIND_AUTO_CREATEのドキュメントを参照してください。
QtAndroidPrivate::BindFlag::DebugUnbind0x00000002unbind への呼び出しが一致しない場合のデバッグ支援を含めます。詳細については、BIND_DEBUG_UNBINDのドキュメントを参照してください。
QtAndroidPrivate::BindFlag::NotForeground0x00000004このバインディングにより、ターゲットサービスのプロセスがフォアグラウンドのスケジューリング優先度まで引き上げられることを許可しません。詳細については、BIND_NOT_FOREGROUNDのドキュメントを参照してください。
QtAndroidPrivate::BindFlag::AboveClient0x00000008このサービスにバインドするクライアントアプリケーションが、アプリ自体よりもそのサービスを重要視していることを示します。詳細については、BIND_ABOVE_CLIENTのドキュメントを参照してください。
QtAndroidPrivate::BindFlag::AllowOomManagement0x00000010バインドされたサービスをホストするプロセスが、通常のメモリ管理を行うことを許可します。詳細については、BIND_ALLOW_OOM_MANAGEMENTのドキュメントを参照してください。
QtAndroidPrivate::BindFlag::WaivePriority0x00000020ターゲットサービスのホストプロセスのスケジューリングまたはメモリ管理の優先度に影響を与えない。詳細については、BIND_WAIVE_PRIORITYのドキュメントを参照してください。
QtAndroidPrivate::BindFlag::Important0x00000040このサービスには、必要なときにクライアントが利用できるよう、より高い優先度が割り当てられます。詳細については、BIND_IMPORTANTのドキュメントを参照してください。
QtAndroidPrivate::BindFlag::AdjustWithActivity0x00000080アクティビティからバインドする場合、そのアクティビティがユーザーに表示されているかどうかに基づいて、ターゲットサービスのプロセスの重要度を引き上げることができます。詳細については、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も参照してください 。

[technology preview] QFuture<QtAndroidPrivate::PermissionResult> QtAndroidPrivate::checkPermission(const QString &permission)

この機能はテクノロジープレビュー段階にあり、変更される可能性があります。

このプロセスが指定されたpermission を持っているかどうかを確認し、確認結果を表すQFuture を返します。

注: QPermission は 、権限を要求するために使用することが推奨されるAPIです。QPermission で要求したいAndroidの権限がカバーされていない場合でも、代わりにこの暫定APIを使用することができます。

この関数は Qt 6.2 で導入されました。

関連項目: requestPermission().

[technology preview] 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 で指定されたアクティビティを開始し、resultReceiver が null でない場合は、その結果を非同期で提供します。

resultReceiver が null の場合、QNativeInterface::QAndroidApplication::context() のstartActivity() メソッドが呼び出されます。それ以外の場合は、startActivityForResult() が呼び出されます。

receiverRequestCode はresultReceiver 固有のリクエストコードであり、結果とともに返されるため、1つのレシーバーを複数のインテントで共用することが可能になります。

この関数は Qt 6.2 で導入されました。

[since 6.2] void QtAndroidPrivate::startActivity(const QJniObject &intent, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr)

intent で指定されたアクティビティを開始し、resultReceiver が null でない場合は、その結果を非同期で提供します。

resultReceiver が null の場合、QNativeInterface::QAndroidApplication::context() のstartActivity() メソッドが呼び出されます。それ以外の場合は、startActivityForResult() が呼び出されます。

receiverRequestCode はresultReceiver 固有のリクエストコードであり、結果とともに返されるため、1つのレシーバーを複数のインテントで共有することが可能になります。

この関数は Qt 6.2 で導入されました。

[since 6.2] void QtAndroidPrivate::startActivity(const QJniObject &intent, int receiverRequestCode, std::function<void (int, int, const QJniObject &)> callbackFunc)

intent で指定されたアクティビティを、リクエストコードreceiverRequestCode を使用して起動し、callbackFunc を呼び出すことで結果を返します。

この関数は Qt 6.2 で導入されました。

[since 6.2] void QtAndroidPrivate::startIntentSender(const QJniObject &intentSender, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr)

intentSender で指定されたアクティビティを開始し、resultReceiver が null でない場合は、その結果を非同期で提供します。

resultReceiver がnullの場合、QNativeInterface::QAndroidApplication::context()のstartIntentSender() メソッドが呼び出されます。それ以外の場合は、startIntentSenderForResult() が呼び出されます。

receiverRequestCode はresultReceiver 固有のリクエストコードであり、結果とともに返されるため、1つのレシーバーを複数のインテントで使用することが可能になります。

この関数は Qt 6.2 で導入されました。

© 2026 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.