Jump to content

Qt for HarmonyOS/qtohosextras doc/QOhosAbilityContext Class: Difference between revisions

From Qt Wiki
Update from qdoc output (QTFOROH-2307)
Drop manual breadcrumb, MediaWiki renders it automatically (QTFOROH-2307)
 
Line 1: Line 1:
< [[Qt_for_HarmonyOS/qtohosextras_doc|Qt for HarmonyOS / qtohosextras doc]]
= QOhosAbilityContext Class =
= QOhosAbilityContext Class =



Latest revision as of 06:11, 17 September 2026

QOhosAbilityContext Class

class QtOhosExtras::QOhosAbilityContext

The QOhosAbilityContext class is to manage native UI Ability context. See UIAbilityContext. More...

Header: #include <QOhosAbilityContext>
qmake: QT += ohosextras
Since: Qt 5.12.12
Inherits: QObject

This class was introduced in Qt 5.12.12.

Public Functions

virtual void requestPermissionFromUserIfNeeded(AppPermissions::Permission permission) = 0
virtual void requestPermissionFromUserIfNeeded(const QString &permissionName) = 0
virtual void requestPermissionOnSettingIfNeeded(AppPermissions::Permission permission) = 0
virtual void requestPermissionOnSettingIfNeeded(const QString &permissionName) = 0
virtual void setContinuationActive(bool continuationActive) = 0
virtual void setDestroyFromSystemEnabled(bool destroyEnabled) = 0
virtual QByteArray shareDataWithShareKit(const QList<QSharedPointer<ShareKit::QOhosSharedRecord>> &records, QSharedPointer<ShareKit::QOhosShareControllerOptions> controllerOptions = nullptr) = 0
virtual QByteArray startAbilityForResult(const QOhosWant &want) = 0
virtual QByteArray startAbilityForResult(const QOhosWant &want, const QOhosStartOptions &options) = 0
virtual QByteArray startAbilityForResult(const QOhosWant &want, const QOhosStartRequest &startRequest) = 0
virtual bool tryOpenLink(const QString &link) = 0
virtual bool tryOpenLink(const QString &link, const QOhosOpenLinkOptions &options) = 0

Signals

void continueRequestReceived(QSharedPointer<QOhosOnContinueContext> onContinueContext)
void namedPermissionRequestOnSettingResponseReceived(QString permissionName, bool permissionGranted)
void namedPermissionRequestResponseReceived(QString permissionName, AppPermissions::PermissionResult result)
void newWantInfoReceived(QSharedPointer<QOhosWantInfo> wantInfo)
void newWantReceived(QOhosWant want)
void permissionRequestOnSettingResponseReceived(AppPermissions::Permission permission, bool permissionGranted)
void permissionRequestResponseReceived(AppPermissions::Permission permission, AppPermissions::PermissionResult result)
void shareKitCompleted(QByteArray requestId, QSharedPointer<ShareKit::QOhosShareOperationResult> shareOperationResult)
void shareKitPanelClosed(QByteArray requestId)
void startAbilityForResultErrorResponseReceived(QByteArray requestId)
void startAbilityForResultResponseReceived(QByteArray requestId, int resultCode, QSharedPointer<QOhosWant> optWant)

Static Public Members

QSharedPointer<QOhosAbilityContext> getDefaultInstance()
QSharedPointer<QOhosAbilityContext> getInstanceForMainWindow(QWindow *instanceMainWindow)
QOhosAbilityContext * instance()

Detailed Description

Member Function Documentation

[signal] void QOhosAbilityContext::continueRequestReceived(QSharedPointer<QOhosOnContinueContext> onContinueContext)

Signal emitted when the ability receives onContinue request. The signal delivers onContinueContext on which User can set onContinue response. See UIAbility onContinue.

See also QOhosOnContinueContext::setAgreeResponse(), QOhosOnContinueContext::setMismatchResponse(), QOhosOnContinueContext::setRejectResponse(), and QOhosOnContinueContext::setResponseOnDistributedDataObjectsSaveResults().

[signal] void QOhosAbilityContext::namedPermissionRequestOnSettingResponseReceived(QString permissionName, bool permissionGranted)

Signal emitted on requestPermissionOnSettingIfNeeded() request result for a permission requested by name. Provides permissionGranted state for the checked permissionName.

See also requestPermissionOnSettingIfNeeded().

[signal] void QOhosAbilityContext::namedPermissionRequestResponseReceived(QString permissionName, AppPermissions::PermissionResult result)

Signal emitted on requestPermissionFromUserIfNeeded() request result for a permission requested by name. Provides result for the checked permissionName.

See also requestPermissionFromUserIfNeeded().

[signal] void QOhosAbilityContext::newWantInfoReceived(QSharedPointer<QOhosWantInfo> wantInfo)

Singal is emitted when an ability gets new want information wantInfo. See On New Want.

[signal] void QOhosAbilityContext::newWantReceived(QOhosWant want)

Singal is emitted when an ability gets new want. It is recommended to use newer newWantInfoReceived() signal. See On New Want.

See also newWantInfoReceived().

[signal] void QOhosAbilityContext::permissionRequestOnSettingResponseReceived(AppPermissions::Permission permission, bool permissionGranted)

Signal emitted on permissionRequestOnSettingResponseReceived() request result. Provides permissionGranted state for a checked permission.

[signal] void QOhosAbilityContext::permissionRequestResponseReceived(AppPermissions::Permission permission, AppPermissions::PermissionResult result)

Signal emitted on requestPermissionFromUserIfNeeded() request result. Provides result for a checked permission.

[signal] void QOhosAbilityContext::shareKitCompleted(QByteArray requestId, QSharedPointer<ShareKit::QOhosShareOperationResult> shareOperationResult)

Signal emitted when share operation is completed. The requestId identifies the corresponding shareDataWithShareKit() request and shareOperationResult carries the result of the operation. Please note that the shareKitCompleted() can be called multiple times as the User can change the target application.

See ShareController

[signal] void QOhosAbilityContext::shareKitPanelClosed(QByteArray requestId)

Signal emitted when the sharing panel (invoked via shareDataWithShareKit) closes. The requestId identifies the corresponding shareDataWithShareKit() request. It corresponds to OH ShareController's "dismiss" event.

See ShareController

[signal] void QOhosAbilityContext::startAbilityForResultErrorResponseReceived(QByteArray requestId)

Signal emitted when started UIAbility got an exception for example, it was killed. Start ability User request can be identified with requestId. See {https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#startabilityforresult-2} {UIAbilityContext.startAbilityForResult} and {https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#terminateselfwithresult} {UIAbilityContext.terminateSelfWithResult}

[signal] void QOhosAbilityContext::startAbilityForResultResponseReceived(QByteArray requestId, int resultCode, QSharedPointer<QOhosWant> optWant)

Signal emitted when started UIAbility is terminated. User request can be identified with requestId. External application sets the result which is provided by resultCode and optionally optWant with extra data (the optWant is null if Want object is not available). See {https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#startabilityforresult-2} {UIAbilityContext.startAbilityForResult} and {https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#terminateselfwithresult} {UIAbilityContext.terminateSelfWithResult}

[static] QSharedPointer<QOhosAbilityContext> QOhosAbilityContext::getDefaultInstance()

Returns instance of the class which is not connected to any specific Ability instance. It should be used when the application needs to perform some operations without selecting specific Ability instance (via the corresponding main window).

See descriptions of specific class methods for information about their behavior for the default instance.

[static] QSharedPointer<QOhosAbilityContext> QOhosAbilityContext::getInstanceForMainWindow(QWindow *instanceMainWindow)

Returns instance of the class which is connected to Ability instance identified by the instanceMainWindow. Methods called on the returned object will only affect the corresponding Ability instance.

[static] QOhosAbilityContext *QOhosAbilityContext::instance()

Gets QOhosAbilityContext global default instance.

See also getDefaultInstance().

[pure virtual] void QOhosAbilityContext::requestPermissionFromUserIfNeeded(AppPermissions::Permission permission)

Request a given application permission from the User in the context of the underlying Ability instance (when called on the default QOhosAbilityContext instance, it will use automatically selected Ability instance).

This is asynchronous call which result will be emitted by permissionRequestResponseReceived() signal.

See also permissionRequestResponseReceived().

[pure virtual] void QOhosAbilityContext::requestPermissionFromUserIfNeeded(const QString &permissionName)

Request a given application permissionName from the User in the context of the underlying Ability instance (when called on the default QOhosAbilityContext instance, it will use automatically selected Ability instance).

This is asynchronous call which result will be emitted by namedPermissionRequestResponseReceived() signal.

See also namedPermissionRequestResponseReceived().

[pure virtual] void QOhosAbilityContext::requestPermissionOnSettingIfNeeded(AppPermissions::Permission permission)

Request a given application permission in a Settings dialog box in the context of the underlying Ability instance (when called on the default QOhosAbilityContext instance, it will use automatically selected Ability instance).

This is asynchronous call which result will be emitted by permissionRequestOnSettingResponseReceived() signal.

See also permissionRequestOnSettingResponseReceived().

[pure virtual] void QOhosAbilityContext::requestPermissionOnSettingIfNeeded(const QString &permissionName)

Request a given application permissionName in a Settings dialog box in the context of the underlying Ability instance (when called on the default QOhosAbilityContext instance, it will use automatically selected Ability instance).

This is asynchronous call which result will be emitted by namedPermissionRequestOnSettingResponseReceived() signal.

See also namedPermissionRequestOnSettingResponseReceived().

[pure virtual] void QOhosAbilityContext::setContinuationActive(bool continuationActive)

Sets the mission continuation state of the underlying Ability instance as per the continuationActive parameter (true = active, false = inactive).

See setMissionContinueState

[pure virtual] void QOhosAbilityContext::setDestroyFromSystemEnabled(bool destroyEnabled)

Sets whether the Ability can be automatically destroyed by the system when the user clicks on the window's "close" button. If destroyEnabled is true, the system destroys the Ability automatically (and Qt needs to adapt to this). If destroyEnabled = false, the window is not automatically destroyed, but instead standard Qt path for window close is triggered, i.e. QWindow::close().

By default, the flag is set to false.

When called on the default QOhosAbilityContext instance it sets the flag to destroyEnabled for all Ability instances.

[pure virtual] QByteArray QOhosAbilityContext::shareDataWithShareKit(const QList<QSharedPointer<ShareKit::QOhosSharedRecord>> &records, QSharedPointer<ShareKit::QOhosShareControllerOptions> controllerOptions = nullptr)

Share provided records with other applications using an inter-application mechanism called ShareKit. Share Kit panel can be controlled with a given controllerOptions. When called on the default QOhosAbilityContext instance, it shares records using the default UiAbility.

Returns request identifier which will be passed as an argument of the corresponding shareKitPanelClosed() or shareKitCompleted() signal. shareKitPanelClosed() signal is emitted when the sharing panel is closed. shareKitCompleted() signal is called when User selects application for sharing (can be called multiple times).

See Share Kit

[pure virtual] QByteArray QOhosAbilityContext::startAbilityForResult(const QOhosWant &want)

Starts a UIAbility with a given want and delivers the result using startAbilityForResultResponseReceived() or startAbilityForResultErrorResponseReceived() signal. To start the UIAbility, at least bundleName and abilityName properties must be set. Returns request identifier which will be also provided by emitted signal

See UIAbilityContext.startAbilityForResult

See also startAbilityForResultResponseReceived() and startAbilityForResultErrorResponseReceived().

[pure virtual] QByteArray QOhosAbilityContext::startAbilityForResult(const QOhosWant &want, const QOhosStartOptions &options)

Starts a UIAbility with a given want and options and delivers the result using startAbilityForResultResponseReceived() or startAbilityForResultErrorResponseReceived() signal. To start the UIAbility, at least bundleName and abilityName properties must be set. Returns request identifier which will be also provided by emitted signal

See UIAbilityContext.startAbilityForResult

See also startAbilityForResultResponseReceived() and startAbilityForResultErrorResponseReceived().

[pure virtual] QByteArray QOhosAbilityContext::startAbilityForResult(const QOhosWant &want, const QOhosStartRequest &startRequest)

Starts a UIAbility with a given want and startRequest and delivers the result using startAbilityForResultResponseReceived() or startAbilityForResultErrorResponseReceived() signal. To start the UIAbility, at least bundleName and abilityName properties must be set.

The startRequest carries the completion handler from start options. Connect to QOhosStartRequest::requestSucceeded() and QOhosStartRequest::requestFailed() to receive completion handler results. See UIAbilityContext.startAbilityForResult

[pure virtual] bool QOhosAbilityContext::tryOpenLink(const QString &link)

Use provided link to open application with a deep link. Returns true if successful, false otherwise.

See App Linking

[pure virtual] bool QOhosAbilityContext::tryOpenLink(const QString &link, const QOhosOpenLinkOptions &options)

Use provided link and options to open application with a deep link. Returns true if successful, false otherwise.

See App Linking