QtAndroidPrivate Namespace
The QtAndroidPrivate namespace provides miscellaneous functions to aid Android development. More...
Header: | #include <QtCore/private/qandroidextras_p.h> |
Types
enum class | BindFlag { None, AutoCreate, DebugUnbind, NotForeground, AboveClient, …, ExternalService } |
flags | BindFlags |
Functions
bool | bindService(const QAndroidIntent &serviceIntent, const QAndroidServiceConnection &serviceConnection, BindFlags flags = BindFlag::None) |
QFuture<QtAndroidPrivate::PermissionResult> | checkPermission(const QString &permission) |
QFuture<QtAndroidPrivate::PermissionResult> | requestPermission(const QString &permission) |
void | startActivity(const QJniObject &intent, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr) |
void | startActivity(const QAndroidIntent &intent, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr) |
void | startActivity(const QJniObject &intent, int receiverRequestCode, int callbackFunc) |
void | startIntentSender(const QJniObject &intentSender, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr) |
Detailed Description
\preliminary
\inmodule
QtCorePrivate \since
6.2
When building with CMake, use the following commands to use private Qt Core APIs:
find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::CorePrivate)
Type Documentation
enum class QtAndroidPrivate::BindFlag
flags QtAndroidPrivate::BindFlags
\since
6.2
This enum is used with QtAndroidPrivate::bindService to describe the mode in which the binding is performed.
Constant | Value | Description |
---|---|---|
QtAndroidPrivate::BindFlag::None | 0x00000000 | No options. |
QtAndroidPrivate::BindFlag::AutoCreate | 0x00000001 | Automatically creates the service as long as the binding exist. See BIND_AUTO_CREATE documentation for more details. |
QtAndroidPrivate::BindFlag::DebugUnbind | 0x00000002 | Include debugging help for mismatched calls to unbind. See BIND_DEBUG_UNBIND documentation for more details. |
QtAndroidPrivate::BindFlag::NotForeground | 0x00000004 | Don't allow this binding to raise the target service's process to the foreground scheduling priority. See BIND_NOT_FOREGROUND documentation for more details. |
QtAndroidPrivate::BindFlag::AboveClient | 0x00000008 | Indicates that the client application binding to this service considers the service to be more important than the app itself. See BIND_ABOVE_CLIENT documentation for more details. |
QtAndroidPrivate::BindFlag::AllowOomManagement | 0x00000010 | Allow the process hosting the bound service to go through its normal memory management. See BIND_ALLOW_OOM_MANAGEMENT documentation for more details. |
QtAndroidPrivate::BindFlag::WaivePriority | 0x00000020 | Don't impact the scheduling or memory management priority of the target service's hosting process. See BIND_WAIVE_PRIORITY documentation for more details. |
QtAndroidPrivate::BindFlag::Important | 0x00000040 | This service is assigned a higher priority so that it is available to the client when needed. See BIND_IMPORTANT documentation for more details. |
QtAndroidPrivate::BindFlag::AdjustWithActivity | 0x00000080 | If binding from an activity, allow the target service's process importance to be raised based on whether the activity is visible to the user. See BIND_ADJUST_WITH_ACTIVITY documentation for more details. |
QtAndroidPrivate::BindFlag::ExternalService | -2147483648 | The service being bound is an isolated, external service. See BIND_EXTERNAL_SERVICE documentation for more details. |
The BindFlags type is a typedef for QFlags<BindFlag>. It stores an OR combination of BindFlag values.
Function Documentation
bool QtAndroidPrivate::bindService(const QAndroidIntent &serviceIntent, const QAndroidServiceConnection &serviceConnection, BindFlags flags = BindFlag::None)
\since
6.2
Binds the service given by serviceIntent, serviceConnection and flags. The serviceIntent object identifies the service to connect to. The serviceConnection is a listener that receives the information as the service is started and stopped.
Returns true on success
See Android documentation documentation for more details.
See also QAndroidIntent, QAndroidServiceConnection, and BindFlag.
QFuture<QtAndroidPrivate::PermissionResult> QtAndroidPrivate::checkPermission(const QString &permission)
\preliminary
Checks whether this process has the named permission and returns a QFuture representing the result of the check.
\since
6.2
See also requestPermission().
QFuture<QtAndroidPrivate::PermissionResult> QtAndroidPrivate::requestPermission(const QString &permission)
\preliminary
Requests the permission and returns a QFuture representing the result of the request.
\since
6.2
See also checkPermission().
void QtAndroidPrivate::startActivity(const QJniObject &intent, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr)
\since
6.2
Starts the activity given by intent and provides the result asynchronously through the resultReceiver if this is non-null.
If resultReceiver is null, then the startActivity()
method in the androidActivity()
will be called. Otherwise startActivityForResult()
will be called.
The receiverRequestCode is a request code unique to the resultReceiver, and will be returned along with the result, making it possible to use the same receiver for more than one intent.
void QtAndroidPrivate::startActivity(const QAndroidIntent &intent, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr)
\since
6.2
Starts the activity given by intent and provides the result asynchronously through the resultReceiver if this is non-null.
If resultReceiver is null, then the startActivity()
method in the androidActivity()
will be called. Otherwise startActivityForResult()
will be called.
The receiverRequestCode is a request code unique to the resultReceiver, and will be returned along with the result, making it possible to use the same receiver for more than one intent.
void QtAndroidPrivate::startActivity(const QJniObject &intent, int receiverRequestCode, int callbackFunc)
\since
6.2
Starts the activity given by intent, using the request code receiverRequestCode, and provides the result by calling callbackFunc.
void QtAndroidPrivate::startIntentSender(const QJniObject &intentSender, int receiverRequestCode, QAndroidActivityResultReceiver *resultReceiver = nullptr)
\since
6.2
Starts the activity given by intentSender and provides the result asynchronously through the resultReceiver if this is non-null.
If resultReceiver is null, then the startIntentSender()
method in the androidActivity()
will be called. Otherwise startIntentSenderForResult()
will be called.
The receiverRequestCode is a request code unique to the resultReceiver, and will be returned along with the result, making it possible to use the same receiver for more than one intent.