Qt for HarmonyOS/qtohosextras doc/QOhosAbilityContext Class: Difference between revisions
No edit summary |
Drop manual breadcrumb, MediaWiki renders it automatically (QTFOROH-2307) |
||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
= QOhosAbilityContext Class = | = QOhosAbilityContext Class = | ||
class [[Qt_for_HarmonyOS/qtohosextras_doc/Qt_Ohos_Extras_C++_Classes|QtOhosExtras]]::QOhosAbilityContext | |||
The | The QOhosAbilityContext class is to manage native UI Ability context. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-inner-application-uiabilitycontext-V5 UIAbilityContext]. [[#details|More...]] | ||
{| class="wikitable" | |||
{| class="wikitable | |||
|- | |- | ||
| Header: | |||
| | | #include <QOhosAbilityContext> | ||
|- | |- | ||
| qmake: | |||
| QT += ohosextras | |||
|- | |- | ||
| Since: | |||
| Qt 5.12.12 | |||
|- | |- | ||
| Inherits: | |||
| [https://doc.qt.io/qt-5/qobject.html QObject] | |||
|} | |} | ||
This class was introduced in Qt 5.12.12. | |||
* [[Qt_for_HarmonyOS/qtohosextras_doc/List_of_All_Members_for_QOhosAbilityContext|List of all members, including inherited members]] | * [[Qt_for_HarmonyOS/qtohosextras_doc/List_of_All_Members_for_QOhosAbilityContext|List of all members, including inherited members]] | ||
== Public Functions == | == Public Functions == | ||
{| class="wikitable" | |||
|- | |||
| virtual void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#requestPermissionFromUserIfNeeded|requestPermissionFromUserIfNeeded]]'''(AppPermissions::Permission ''permission'') = 0 | |||
|- | |- | ||
| virtual void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#requestPermissionFromUserIfNeeded-1|requestPermissionFromUserIfNeeded]]'''(const QString &''permissionName'') = 0 | |||
|- | |- | ||
| virtual void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#requestPermissionOnSettingIfNeeded|requestPermissionOnSettingIfNeeded]]'''(AppPermissions::Permission ''permission'') = 0 | |||
|- | |- | ||
| virtual void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#requestPermissionOnSettingIfNeeded-1|requestPermissionOnSettingIfNeeded]]'''(const QString &''permissionName'') = 0 | |||
|- | |- | ||
| virtual void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#setContinuationActive|setContinuationActive]]'''(bool ''continuationActive'') = 0 | |||
|- | |- | ||
| virtual void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#setDestroyFromSystemEnabled|setDestroyFromSystemEnabled]]'''(bool ''destroyEnabled'') = 0 | |||
|- | |- | ||
| virtual QByteArray | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#shareDataWithShareKit|shareDataWithShareKit]]'''(const QList<QSharedPointer<ShareKit::QOhosSharedRecord>> &''records'', QSharedPointer<ShareKit::QOhosShareControllerOptions> ''controllerOptions'' = nullptr) = 0 | |||
|- | |- | ||
| virtual QByteArray | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResult|startAbilityForResult]]'''(const QOhosWant &''want'') = 0 | |||
|- | |- | ||
| virtual QByteArray | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResult-1|startAbilityForResult]]'''(const QOhosWant &''want'', const QOhosStartOptions &''options'') = 0 | |||
|- | |- | ||
| virtual QByteArray | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResult-2|startAbilityForResult]]'''(const QOhosWant &''want'', const QOhosStartRequest &''startRequest'') = 0 | |||
|- | |- | ||
| virtual bool | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#tryOpenLink|tryOpenLink]]'''(const QString &''link'') = 0 | |||
|- | |- | ||
| virtual bool | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#tryOpenLink-1|tryOpenLink]]'''(const QString &''link'', const QOhosOpenLinkOptions &''options'') = 0 | |||
|} | |} | ||
== Signals == | == Signals == | ||
{| class="wikitable" | |||
|- | |||
| void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#continueRequestReceived|continueRequestReceived]]'''(QSharedPointer<QOhosOnContinueContext> ''onContinueContext'') | |||
|- | |||
| void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#namedPermissionRequestOnSettingResponseReceived|namedPermissionRequestOnSettingResponseReceived]]'''(QString ''permissionName'', bool ''permissionGranted'') | |||
|- | |- | ||
| void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#namedPermissionRequestResponseReceived|namedPermissionRequestResponseReceived]]'''(QString ''permissionName'', AppPermissions::PermissionResult ''result'') | |||
|- | |- | ||
| void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#newWantInfoReceived|newWantInfoReceived]]'''(QSharedPointer<QOhosWantInfo> ''wantInfo'') | |||
|- | |- | ||
| void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#newWantReceived|newWantReceived]]'''(QOhosWant ''want'') | |||
|- | |- | ||
| void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#permissionRequestOnSettingResponseReceived|permissionRequestOnSettingResponseReceived]]'''(AppPermissions::Permission ''permission'', bool ''permissionGranted'') | |||
|- | |- | ||
| void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#permissionRequestResponseReceived|permissionRequestResponseReceived]]'''(AppPermissions::Permission ''permission'', AppPermissions::PermissionResult ''result'') | |||
|- | |- | ||
| void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#shareKitCompleted|shareKitCompleted]]'''(QByteArray ''requestId'', QSharedPointer<ShareKit::QOhosShareOperationResult> ''shareOperationResult'') | |||
|- | |- | ||
| void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#shareKitPanelClosed|shareKitPanelClosed]]'''(QByteArray ''requestId'') | |||
|- | |- | ||
| void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultErrorResponseReceived|startAbilityForResultErrorResponseReceived]]'''(QByteArray ''requestId'') | |||
|- | |- | ||
| void | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultResponseReceived|startAbilityForResultResponseReceived]]'''(QByteArray ''requestId'', int ''resultCode'', QSharedPointer<QOhosWant> ''optWant'') | |||
|} | |} | ||
== Static Public Members == | == Static Public Members == | ||
{| class="wikitable" | |||
{| class="wikitable | |||
|- | |- | ||
| QSharedPointer<QOhosAbilityContext> | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#getDefaultInstance|getDefaultInstance]]'''() | |||
|- | |- | ||
| QSharedPointer<QOhosAbilityContext> | |||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#getInstanceForMainWindow|getInstanceForMainWindow]]'''(QWindow *''instanceMainWindow'') | |||
|- | |- | ||
| | | QOhosAbilityContext * | ||
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#instance|instance]]'''() | |||
|} | |} | ||
</ | == Detailed Description == | ||
== Member Function Documentation == | |||
=== <span id="continueRequestReceived"></span><code>[signal] </code>void QOhosAbilityContext::continueRequestReceived([https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOnContinueContext_Class|QOhosOnContinueContext]]> ''onContinueContext'') === | |||
Signal emitted when the ability receives onContinue request. The signal delivers ''onContinueContext'' on which User can set onContinue response. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V13/js-apis-app-ability-uiability-V13#uiabilityoncontinue UIAbility onContinue]. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOnContinueContext_Class#setAgreeResponse|QOhosOnContinueContext::setAgreeResponse]](), [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOnContinueContext_Class#setMismatchResponse|QOhosOnContinueContext::setMismatchResponse]](), [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOnContinueContext_Class#setRejectResponse|QOhosOnContinueContext::setRejectResponse]](), and [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOnContinueContext_Class#setResponseOnDistributedDataObjectsSaveResults|QOhosOnContinueContext::setResponseOnDistributedDataObjectsSaveResults]](). | |||
=== <span id="namedPermissionRequestOnSettingResponseReceived"></span><code>[signal] </code>void QOhosAbilityContext::namedPermissionRequestOnSettingResponseReceived([https://doc.qt.io/qt-5/qstring.html QString] ''permissionName'', bool ''permissionGranted'') === | |||
Signal emitted on [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#requestPermissionOnSettingIfNeeded|requestPermissionOnSettingIfNeeded]]() request result for a permission requested by name. Provides ''permissionGranted'' state for the checked ''permissionName''. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#requestPermissionOnSettingIfNeeded|requestPermissionOnSettingIfNeeded]](). | |||
=== <span id="namedPermissionRequestResponseReceived"></span><code>[signal] </code>void QOhosAbilityContext::namedPermissionRequestResponseReceived([https://doc.qt.io/qt-5/qstring.html QString] ''permissionName'', [[Qt_for_HarmonyOS/qtohosextras_doc/PermissionResult_Class|AppPermissions::PermissionResult]] ''result'') === | |||
Signal emitted on [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#requestPermissionFromUserIfNeeded|requestPermissionFromUserIfNeeded]]() request result for a permission requested by name. Provides ''result'' for the checked ''permissionName''. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#requestPermissionFromUserIfNeeded|requestPermissionFromUserIfNeeded]](). | |||
=== <span id="newWantInfoReceived"></span><code>[signal] </code>void QOhosAbilityContext::newWantInfoReceived([https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWantInfo_Class|QOhosWantInfo]]> ''wantInfo'') === | |||
|- | |||
| | Singal is emitted when an ability gets new want information ''wantInfo''. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-app-ability-uiability-V5#uiabilityonnewwant On New Want]. | ||
| | |||
|- | === <span id="newWantReceived"></span><code>[signal] </code>void QOhosAbilityContext::newWantReceived([[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]] ''want'') === | ||
| class=" | |||
Singal is emitted when an ability gets new ''want''. It is recommended to use newer [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#newWantInfoReceived|newWantInfoReceived]]() signal. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references-V5/js-apis-app-ability-uiability-V5#uiabilityonnewwant On New Want]. | |||
| | |||
| | '''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#newWantInfoReceived|newWantInfoReceived]](). | ||
| | |||
=== <span id="permissionRequestOnSettingResponseReceived"></span><code>[signal] </code>void QOhosAbilityContext::permissionRequestOnSettingResponseReceived([[Qt_for_HarmonyOS/qtohosextras_doc/AppPermissions_Namespace#Permission-enum|AppPermissions::Permission]] ''permission'', bool ''permissionGranted'') === | |||
Signal emitted on permissionRequestOnSettingResponseReceived() request result. Provides ''permissionGranted'' state for a checked ''permission''. | |||
=== <span id="permissionRequestResponseReceived"></span><code>[signal] </code>void QOhosAbilityContext::permissionRequestResponseReceived([[Qt_for_HarmonyOS/qtohosextras_doc/AppPermissions_Namespace#Permission-enum|AppPermissions::Permission]] ''permission'', [[Qt_for_HarmonyOS/qtohosextras_doc/PermissionResult_Class|AppPermissions::PermissionResult]] ''result'') === | |||
Signal emitted on [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#requestPermissionFromUserIfNeeded|requestPermissionFromUserIfNeeded]]() request result. Provides ''result'' for a checked ''permission''. | |||
=== <span id="shareKitCompleted"></span><code>[signal] </code>void QOhosAbilityContext::shareKitCompleted([https://doc.qt.io/qt-5/qbytearray.html QByteArray] ''requestId'', [https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosShareOperationResult_Class|ShareKit::QOhosShareOperationResult]]> ''shareOperationResult'') === | |||
Signal emitted when share operation is completed. The ''requestId'' identifies the corresponding [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#shareDataWithShareKit|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 [https://developer.huawei.com/consumer/en/doc/harmonyos-references/share-system-share#section238319917154 ShareController] | |||
=== <span id="shareKitPanelClosed"></span><code>[signal] </code>void QOhosAbilityContext::shareKitPanelClosed([https://doc.qt.io/qt-5/qbytearray.html QByteArray] ''requestId'') === | |||
Signal emitted when the sharing panel (invoked via [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#shareDataWithShareKit|shareDataWithShareKit]]) closes. The ''requestId'' identifies the corresponding [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#shareDataWithShareKit|shareDataWithShareKit]]() request. It corresponds to OH ShareController's "dismiss" event. | |||
See [https://developer.huawei.com/consumer/en/doc/harmonyos-references/share-system-share#section147001858124512 ShareController] | |||
=== <span id="startAbilityForResultErrorResponseReceived"></span><code>[signal] </code>void QOhosAbilityContext::startAbilityForResultErrorResponseReceived([https://doc.qt.io/qt-5/qbytearray.html 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.[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResult|startAbilityForResult]]} and {https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#terminateselfwithresult} {UIAbilityContext.terminateSelfWithResult} | |||
=== <span id="startAbilityForResultResponseReceived"></span><code>[signal] </code>void QOhosAbilityContext::startAbilityForResultResponseReceived([https://doc.qt.io/qt-5/qbytearray.html QByteArray] ''requestId'', int ''resultCode'', [https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|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.[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResult|startAbilityForResult]]} and {https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#terminateselfwithresult} {UIAbilityContext.terminateSelfWithResult} | |||
=== <span id="getDefaultInstance"></span><code>[static] </code>[https://doc.qt.io/qt-5/qsharedpointer.html 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. | |||
=== <span id="getInstanceForMainWindow"></span><code>[static] </code>[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<QOhosAbilityContext> QOhosAbilityContext::getInstanceForMainWindow([https://doc.qt.io/qt-5/qwindow.html 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. | |||
=== <span id="instance"></span><code>[static] </code>QOhosAbilityContext *QOhosAbilityContext::instance() === | |||
Gets [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class|QOhosAbilityContext]] global default instance. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#getDefaultInstance|getDefaultInstance]](). | |||
=== <span id="requestPermissionFromUserIfNeeded"></span><code>[pure virtual] </code>void QOhosAbilityContext::requestPermissionFromUserIfNeeded([[Qt_for_HarmonyOS/qtohosextras_doc/AppPermissions_Namespace#Permission-enum|AppPermissions::Permission]] ''permission'') === | |||
Request a given application ''permission'' from the User in the context of the underlying Ability instance (when called on the default [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class|QOhosAbilityContext]] instance, it will use automatically selected Ability instance). | |||
This is asynchronous call which result will be emitted by [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#permissionRequestResponseReceived|permissionRequestResponseReceived]]() signal. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#permissionRequestResponseReceived|permissionRequestResponseReceived]](). | |||
=== <span id="requestPermissionFromUserIfNeeded-1"></span><code>[pure virtual] </code>void QOhosAbilityContext::requestPermissionFromUserIfNeeded(const [https://doc.qt.io/qt-5/qstring.html QString] &''permissionName'') === | |||
Request a given application ''permissionName'' from the User in the context of the underlying Ability instance (when called on the default [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class|QOhosAbilityContext]] instance, it will use automatically selected Ability instance). | |||
This is asynchronous call which result will be emitted by [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#namedPermissionRequestResponseReceived|namedPermissionRequestResponseReceived]]() signal. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#namedPermissionRequestResponseReceived|namedPermissionRequestResponseReceived]](). | |||
=== <span id="requestPermissionOnSettingIfNeeded"></span><code>[pure virtual] </code>void QOhosAbilityContext::requestPermissionOnSettingIfNeeded([[Qt_for_HarmonyOS/qtohosextras_doc/AppPermissions_Namespace#Permission-enum|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 [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class|QOhosAbilityContext]] instance, it will use automatically selected Ability instance). | |||
This is asynchronous call which result will be emitted by [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#permissionRequestOnSettingResponseReceived|permissionRequestOnSettingResponseReceived]]() signal. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#permissionRequestOnSettingResponseReceived|permissionRequestOnSettingResponseReceived]](). | |||
=== <span id="requestPermissionOnSettingIfNeeded-1"></span><code>[pure virtual] </code>void QOhosAbilityContext::requestPermissionOnSettingIfNeeded(const [https://doc.qt.io/qt-5/qstring.html 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 [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class|QOhosAbilityContext]] instance, it will use automatically selected Ability instance). | |||
This is asynchronous call which result will be emitted by [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#namedPermissionRequestOnSettingResponseReceived|namedPermissionRequestOnSettingResponseReceived]]() signal. | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#namedPermissionRequestOnSettingResponseReceived|namedPermissionRequestOnSettingResponseReceived]](). | |||
=== <span id="setContinuationActive"></span><code>[pure virtual] </code>void QOhosAbilityContext::setContinuationActive(bool ''continuationActive'') === | |||
Sets the mission continuation state of the underlying Ability instance as per the ''continuationActive'' parameter (<code>true</code> = active, <code>false</code> = inactive). | |||
See [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#setmissioncontinuestate10-1 setMissionContinueState] | |||
</ | === <span id="setDestroyFromSystemEnabled"></span><code>[pure virtual] </code>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 <code>true</code>, the system destroys the Ability automatically (and Qt needs to adapt to this). If ''destroyEnabled'' = <code>false</code>, the window is not automatically destroyed, but instead standard Qt path for window close is triggered, i.e. [https://doc.qt.io/qt-5/qwindow.html#close QWindow::close](). | |||
By default, the flag is set to <code>false</code>. | |||
When called on the default [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class|QOhosAbilityContext]] instance it sets the flag to ''destroyEnabled'' for all Ability instances. | |||
< | === <span id="shareDataWithShareKit"></span><code>[pure virtual] </code>[https://doc.qt.io/qt-5/qbytearray.html QByteArray] QOhosAbilityContext::shareDataWithShareKit(const [https://doc.qt.io/qt-5/qlist.html QList]<[https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosSharedRecord_Class|ShareKit::QOhosSharedRecord]]>> &''records'', [https://doc.qt.io/qt-5/qsharedpointer.html QSharedPointer]<[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosShareControllerOptions_Class|ShareKit::QOhosShareControllerOptions]]> ''controllerOptions'' = nullptr) === | ||
Share provided ''records'' with other applications using an inter-application mechanism called [[Qt_for_HarmonyOS/qtohosextras_doc/ShareKit_Namespace|ShareKit]]. Share Kit panel can be controlled with a given ''controllerOptions''. When called on the default [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class|QOhosAbilityContext]] instance, it shares ''records'' using the default UiAbility. | |||
Returns request identifier which will be passed as an argument of the corresponding [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#shareKitPanelClosed|shareKitPanelClosed]]() or [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#shareKitCompleted|shareKitCompleted]]() signal. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#shareKitPanelClosed|shareKitPanelClosed]]() signal is emitted when the sharing panel is closed. [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#shareKitCompleted|shareKitCompleted]]() signal is called when User selects application for sharing (can be called multiple times). | |||
See [https://developer.huawei.com/consumer/en/doc/harmonyos-guides-V5/share-introduction-V5 Share Kit] | |||
<span id=" | === <span id="startAbilityForResult"></span><code>[pure virtual] </code>[https://doc.qt.io/qt-5/qbytearray.html QByteArray] QOhosAbilityContext::startAbilityForResult(const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]] &''want'') === | ||
Starts a UIAbility with a given ''want'' and delivers the result using [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultResponseReceived|startAbilityForResultResponseReceived]]() or [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultErrorResponseReceived|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 [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#startabilityforresult-2 UIAbilityContext.startAbilityForResult] | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultResponseReceived|startAbilityForResultResponseReceived]]() and [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultErrorResponseReceived|startAbilityForResultErrorResponseReceived]](). | |||
< | === <span id="startAbilityForResult-1"></span><code>[pure virtual] </code>[https://doc.qt.io/qt-5/qbytearray.html QByteArray] QOhosAbilityContext::startAbilityForResult(const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]] &''want'', const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartOptions_Class|QOhosStartOptions]] &''options'') === | ||
Starts a UIAbility with a given ''want'' and ''options'' and delivers the result using [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultResponseReceived|startAbilityForResultResponseReceived]]() or [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultErrorResponseReceived|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 [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#startabilityforresult-2 UIAbilityContext.startAbilityForResult] | |||
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultResponseReceived|startAbilityForResultResponseReceived]]() and [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultErrorResponseReceived|startAbilityForResultErrorResponseReceived]](). | |||
< | === <span id="startAbilityForResult-2"></span><code>[pure virtual] </code>[https://doc.qt.io/qt-5/qbytearray.html QByteArray] QOhosAbilityContext::startAbilityForResult(const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosWant_Class|QOhosWant]] &''want'', const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class|QOhosStartRequest]] &''startRequest'') === | ||
Starts a UIAbility with a given ''want'' and ''startRequest'' and delivers the result using [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultResponseReceived|startAbilityForResultResponseReceived]]() or [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultErrorResponseReceived|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 [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class#requestSucceeded|QOhosStartRequest::requestSucceeded]]() and [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosStartRequest_Class#requestFailed|QOhosStartRequest::requestFailed]]() to receive completion handler results. See [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#startabilityforresult-2 UIAbilityContext.startAbilityForResult] | |||
< | === <span id="tryOpenLink"></span><code>[pure virtual] </code>bool QOhosAbilityContext::tryOpenLink(const [https://doc.qt.io/qt-5/qstring.html QString] &''link'') === | ||
Use provided ''link'' to open application with a deep link. Returns true if successful, false otherwise. | |||
See [https://developer.huawei.com/consumer/en/doc/harmonyos-guides/app-linking-startup App Linking] | |||
=== <span id="tryOpenLink-1"></span><code>[pure virtual] </code>bool QOhosAbilityContext::tryOpenLink(const [https://doc.qt.io/qt-5/qstring.html QString] &''link'', const [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosOpenLinkOptions_Class|QOhosOpenLinkOptions]] &''options'') === | |||
Use provided ''link'' and ''options'' to open application with a deep link. Returns true if successful, false otherwise. | |||
See [https://developer.huawei.com/consumer/en/doc/harmonyos-guides/app-linking-startup App Linking] | |||
[[Category:Qt for HarmonyOS]] | |||
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 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().
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 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 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 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}
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.
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).
[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.
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