Jump to content

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

From Qt Wiki
No edit summary
Update from qdoc output (QTFOROH-2307)
Line 3: Line 3:
= QOhosAbilityContext Class =
= QOhosAbilityContext Class =


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]. More...
class [[Qt_for_HarmonyOS/qtohosextras_doc/Qt_Ohos_Extras_C++_Classes|QtOhosExtras]]::QOhosAbilityContext
 
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:
| Header:
| #include <QOhosAbilityContext>
| #include <QOhosAbilityContext>
|-
|-
! qmake:
| qmake:
| QT += ohosextras
| QT += ohosextras
|-
|-
! Since:
| Since:
| Qt 5.12.12
| Qt 5.12.12
|-
|-
! Inherits:
| Inherits:
| [[QObject_Class|QObject]]
| [https://doc.qt.io/qt-5/qobject.html QObject]
|}
|}


* [[List_of_All_Members_for_QOhosAbilityContext|List of all members, including inherited members]]
This class was introduced in Qt 5.12.12.
* [[Obsolete_Members_for_QOhosAbilityContext|Obsolete 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" style="width:100%"
{| class="wikitable"
|-
|-
| virtual void || '''[[#requestPermissionFromUserIfNeeded|requestPermissionFromUserIfNeeded]]'''(int ''permission'') = 0
| virtual void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#requestPermissionFromUserIfNeeded|requestPermissionFromUserIfNeeded]]'''(AppPermissions::Permission ''permission'') = 0
|-
|-
| virtual void || '''[[#requestPermissionFromUserIfNeeded-1|requestPermissionFromUserIfNeeded]]'''(const QString &''permissionName'') = 0
| virtual void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#requestPermissionFromUserIfNeeded-1|requestPermissionFromUserIfNeeded]]'''(const QString &''permissionName'') = 0
|-
|-
| virtual void || '''[[#requestPermissionOnSettingIfNeeded|requestPermissionOnSettingIfNeeded]]'''(int ''permission'') = 0
| virtual void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#requestPermissionOnSettingIfNeeded|requestPermissionOnSettingIfNeeded]]'''(AppPermissions::Permission ''permission'') = 0
|-
|-
| virtual void || '''[[#requestPermissionOnSettingIfNeeded-1|requestPermissionOnSettingIfNeeded]]'''(const QString &''permissionName'') = 0
| virtual void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#requestPermissionOnSettingIfNeeded-1|requestPermissionOnSettingIfNeeded]]'''(const QString &''permissionName'') = 0
|-
|-
| virtual void || '''[[#setContinuationActive|setContinuationActive]]'''(bool ''continuationActive'') = 0
| virtual void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#setContinuationActive|setContinuationActive]]'''(bool ''continuationActive'') = 0
|-
|-
| virtual void || '''[[#setDestroyFromSystemEnabled|setDestroyFromSystemEnabled]]'''(bool ''destroyEnabled'') = 0
| virtual void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#setDestroyFromSystemEnabled|setDestroyFromSystemEnabled]]'''(bool ''destroyEnabled'') = 0
|-
|-
| virtual void || '''[[#shareDataWithShareKit|shareDataWithShareKit]]'''(const QList<QSharedPointer<ShareKit::QOhosSharedRecord>> &''records'', QSharedPointer<ShareKit::QOhosShareControllerOptions> ''controllerOptions'' = nullptr) = 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 || '''[[#startAbilityForResult|startAbilityForResult]]'''(const QtOhosExtras::QOhosWant &''want'') = 0
| virtual QByteArray
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResult|startAbilityForResult]]'''(const QOhosWant &''want'') = 0
|-
|-
| virtual QByteArray || '''[[#startAbilityForResult-1|startAbilityForResult]]'''(const QtOhosExtras::QOhosWant &''want'', const QtOhosExtras::QOhosStartOptions &''options'') = 0
| virtual QByteArray
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResult-1|startAbilityForResult]]'''(const QOhosWant &''want'', const QOhosStartOptions &''options'') = 0
|-
|-
| virtual bool || '''[[#tryOpenLink|tryOpenLink]]'''(const QString &''link'') = 0
| virtual QByteArray
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResult-2|startAbilityForResult]]'''(const QOhosWant &''want'', const QOhosStartRequest &''startRequest'') = 0
|-
|-
| virtual bool || '''[[#tryOpenLink-1|tryOpenLink]]'''(const QString &''link'', const QtOhosExtras::QOhosOpenLinkOptions &''options'') = 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" style="width:100%"
{| class="wikitable"
|-
|-
| void || '''[[#continueRequestReceived|continueRequestReceived]]'''(QSharedPointer<QtOhosExtras::QOhosOnContinueContext> ''onContinueContext'')
| void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#continueRequestReceived|continueRequestReceived]]'''(QSharedPointer<QOhosOnContinueContext> ''onContinueContext'')
|-
|-
| void || '''[[#namedPermissionRequestOnSettingResponseReceived|namedPermissionRequestOnSettingResponseReceived]]'''(QString ''permissionName'', bool ''permissionGranted'')
| void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#namedPermissionRequestOnSettingResponseReceived|namedPermissionRequestOnSettingResponseReceived]]'''(QString ''permissionName'', bool ''permissionGranted'')
|-
|-
| void || '''[[#namedPermissionRequestResponseReceived|namedPermissionRequestResponseReceived]]'''(QString ''permissionName'', int ''result'')
| void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#namedPermissionRequestResponseReceived|namedPermissionRequestResponseReceived]]'''(QString ''permissionName'', AppPermissions::PermissionResult ''result'')
|-
|-
| void || '''[[#newWantInfoReceived|newWantInfoReceived]]'''(QSharedPointer<QtOhosExtras::QOhosWantInfo> ''wantInfo'')
| void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#newWantInfoReceived|newWantInfoReceived]]'''(QSharedPointer<QOhosWantInfo> ''wantInfo'')
|-
|-
| void || '''[[#newWantReceived|newWantReceived]]'''(QtOhosExtras::QOhosWant ''want'')
| void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#newWantReceived|newWantReceived]]'''(QOhosWant ''want'')
|-
|-
| void || '''[[#permissionRequestOnSettingResponseReceived|permissionRequestOnSettingResponseReceived]]'''(int ''permission'', bool ''permissionGranted'')
| void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#permissionRequestOnSettingResponseReceived|permissionRequestOnSettingResponseReceived]]'''(AppPermissions::Permission ''permission'', bool ''permissionGranted'')
|-
|-
| void || '''[[#permissionRequestResponseReceived|permissionRequestResponseReceived]]'''(int ''permission'', int ''result'')
| void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#permissionRequestResponseReceived|permissionRequestResponseReceived]]'''(AppPermissions::Permission ''permission'', AppPermissions::PermissionResult ''result'')
|-
|-
| void || '''[[#startAbilityForResultErrorResponseReceived|startAbilityForResultErrorResponseReceived]]'''(QByteArray ''requestId'')
| void
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#shareKitCompleted|shareKitCompleted]]'''(QByteArray ''requestId'', QSharedPointer<ShareKit::QOhosShareOperationResult> ''shareOperationResult'')
|-
|-
| void || '''[[#startAbilityForResultResponseReceived|startAbilityForResultResponseReceived]]'''(QByteArray ''requestId'', int ''resultCode'', QSharedPointer<QtOhosExtras::QOhosWant> ''optWant'')
| 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" style="width:100%"
{| class="wikitable"
|-
|-
| QSharedPointer<QtOhosExtras::QOhosAbilityContext> || '''[[#getDefaultInstance|getDefaultInstance]]'''()
| QSharedPointer<QOhosAbilityContext>
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#getDefaultInstance|getDefaultInstance]]'''()
|-
|-
| QSharedPointer<QtOhosExtras::QOhosAbilityContext> || '''[[#getInstanceForMainWindow|getInstanceForMainWindow]]'''(QWindow *''instanceMainWindow'')
| QSharedPointer<QOhosAbilityContext>
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#getInstanceForMainWindow|getInstanceForMainWindow]]'''(QWindow *''instanceMainWindow'')
|-
|-
| QtOhosExtras::QOhosAbilityContext * || '''[[#instance|instance]]'''()
| QOhosAbilityContext *
|-
| '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#instance|instance]]'''()
| const QMetaObject || '''staticMetaObject'''
|}
|}


== Protected Functions ==
== 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'') ===
 
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]]().


{| class="wikitable" style="width:100%"
=== <span id="requestPermissionFromUserIfNeeded-1"></span><code>[pure virtual] </code>void QOhosAbilityContext::requestPermissionFromUserIfNeeded(const [https://doc.qt.io/qt-5/qstring.html QString] &''permissionName'') ===
|-
 
| || '''[[#QOhosAbilityContext|QOhosAbilityContext]]'''()
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).
|-
 
| || '''[[#QOhosAbilityContext-1|QOhosAbilityContext]]'''(const QtOhosExtras::QOhosAbilityContext &)
This is asynchronous call which result will be emitted by [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#namedPermissionRequestResponseReceived|namedPermissionRequestResponseReceived]]() signal.
|-
 
| QtOhosExtras::QOhosAbilityContext & || '''[[#operator-eq|operator=]]'''(const QtOhosExtras::QOhosAbilityContext &)
'''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.


== Detailed Description ==
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#namedPermissionRequestOnSettingResponseReceived|namedPermissionRequestOnSettingResponseReceived]]().


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].
=== <span id="setContinuationActive"></span><code>[pure virtual] </code>void QOhosAbilityContext::setContinuationActive(bool ''continuationActive'') ===


== Member Function Documentation ==
Sets the mission continuation state of the underlying Ability instance as per the ''continuationActive'' parameter (<code>true</code> = active, <code>false</code> = inactive).


=== <span id="QOhosAbilityContext"></span>[protected] QOhosAbilityContext::QOhosAbilityContext() ===
See [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#setmissioncontinuestate10-1 setMissionContinueState]
Default constructs an instance of QOhosAbilityContext.


=== <span id="QOhosAbilityContext-1"></span>[protected] QOhosAbilityContext::QOhosAbilityContext(const QtOhosExtras::QOhosAbilityContext &) ===
=== <span id="setDestroyFromSystemEnabled"></span><code>[pure virtual] </code>void QOhosAbilityContext::setDestroyFromSystemEnabled(bool ''destroyEnabled'') ===
Default constructs an instance of QOhosAbilityContext.


=== <span id="continueRequestReceived"></span>[signal] void QOhosAbilityContext::continueRequestReceived(QSharedPointer<QtOhosExtras::QOhosOnContinueContext> onContinueContext) ===
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]().


=== <span id="getDefaultInstance"></span>[static] QSharedPointer<QtOhosExtras::QOhosAbilityContext> QOhosAbilityContext::getDefaultInstance() ===
By default, the flag is set to <code>false</code>.


=== <span id="getInstanceForMainWindow"></span>[static] QSharedPointer<QtOhosExtras::QOhosAbilityContext> QOhosAbilityContext::getInstanceForMainWindow(QWindow *instanceMainWindow) ===
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="instance"></span>[static] QtOhosExtras::QOhosAbilityContext * QOhosAbilityContext::instance() ===
=== <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) ===


=== <span id="namedPermissionRequestOnSettingResponseReceived"></span>[signal] void QOhosAbilityContext::namedPermissionRequestOnSettingResponseReceived(QString permissionName, bool permissionGranted) ===
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.


=== <span id="namedPermissionRequestResponseReceived"></span>[signal] void QOhosAbilityContext::namedPermissionRequestResponseReceived(QString permissionName, int result) ===
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).


=== <span id="newWantInfoReceived"></span>[signal] void QOhosAbilityContext::newWantInfoReceived(QSharedPointer<QtOhosExtras::QOhosWantInfo> wantInfo) ===
See [https://developer.huawei.com/consumer/en/doc/harmonyos-guides-V5/share-introduction-V5 Share Kit]


=== <span id="newWantReceived"></span>[signal] void QOhosAbilityContext::newWantReceived(QtOhosExtras::QOhosWant want) ===
=== <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'') ===


=== <span id="permissionRequestOnSettingResponseReceived"></span>[signal] void QOhosAbilityContext::permissionRequestOnSettingResponseReceived(int permission, bool permissionGranted) ===
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


=== <span id="permissionRequestResponseReceived"></span>[signal] void QOhosAbilityContext::permissionRequestResponseReceived(int permission, int result) ===
See [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#startabilityforresult-2 UIAbilityContext.startAbilityForResult]


=== <span id="requestPermissionFromUserIfNeeded"></span>[pure virtual] void QOhosAbilityContext::requestPermissionFromUserIfNeeded(int permission) ===
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultResponseReceived|startAbilityForResultResponseReceived]]() and [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultErrorResponseReceived|startAbilityForResultErrorResponseReceived]]().


=== <span id="requestPermissionFromUserIfNeeded-1"></span>[pure virtual] void QOhosAbilityContext::requestPermissionFromUserIfNeeded(const QString &permissionName) ===
=== <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'') ===


=== <span id="requestPermissionOnSettingIfNeeded"></span>[pure virtual] void QOhosAbilityContext::requestPermissionOnSettingIfNeeded(int permission) ===
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


=== <span id="requestPermissionOnSettingIfNeeded-1"></span>[pure virtual] void QOhosAbilityContext::requestPermissionOnSettingIfNeeded(const QString &permissionName) ===
See [https://developer.huawei.com/consumer/en/doc/harmonyos-references/js-apis-inner-application-uiabilitycontext#startabilityforresult-2 UIAbilityContext.startAbilityForResult]


=== <span id="setContinuationActive"></span>[pure virtual] void QOhosAbilityContext::setContinuationActive(bool continuationActive) ===
'''See also '''[[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultResponseReceived|startAbilityForResultResponseReceived]]() and [[Qt_for_HarmonyOS/qtohosextras_doc/QOhosAbilityContext_Class#startAbilityForResultErrorResponseReceived|startAbilityForResultErrorResponseReceived]]().


=== <span id="setDestroyFromSystemEnabled"></span>[pure virtual] void QOhosAbilityContext::setDestroyFromSystemEnabled(bool destroyEnabled) ===
=== <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'') ===


=== <span id="shareDataWithShareKit"></span>[pure virtual] void QOhosAbilityContext::shareDataWithShareKit(const QList<QSharedPointer<ShareKit::QOhosSharedRecord>> &records, QSharedPointer<ShareKit::QOhosShareControllerOptions> controllerOptions = nullptr) ===
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.


=== <span id="startAbilityForResult"></span>[pure virtual] QByteArray QOhosAbilityContext::startAbilityForResult(const QtOhosExtras::QOhosWant &want) ===
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="startAbilityForResult-1"></span>[pure virtual] QByteArray QOhosAbilityContext::startAbilityForResult(const QtOhosExtras::QOhosWant &want, const QtOhosExtras::QOhosStartOptions &options) ===
=== <span id="tryOpenLink"></span><code>[pure virtual] </code>bool QOhosAbilityContext::tryOpenLink(const [https://doc.qt.io/qt-5/qstring.html QString] &''link'') ===


=== <span id="startAbilityForResultErrorResponseReceived"></span>[signal] void QOhosAbilityContext::startAbilityForResultErrorResponseReceived(QByteArray requestId) ===
Use provided ''link'' to open application with a deep link. Returns true if successful, false otherwise.


=== <span id="startAbilityForResultResponseReceived"></span>[signal] void QOhosAbilityContext::startAbilityForResultResponseReceived(QByteArray requestId, int resultCode, QSharedPointer<QtOhosExtras::QOhosWant> optWant) ===
See [https://developer.huawei.com/consumer/en/doc/harmonyos-guides/app-linking-startup App Linking]


=== <span id="tryOpenLink"></span>[pure virtual] bool QOhosAbilityContext::tryOpenLink(const QString &link) ===
=== <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'') ===


=== <span id="tryOpenLink-1"></span>[pure virtual] bool QOhosAbilityContext::tryOpenLink(const QString &link, const QtOhosExtras::QOhosOpenLinkOptions &options) ===
Use provided ''link'' and ''options'' to open application with a deep link. Returns true if successful, false otherwise.


=== <span id="operator-eq"></span>[protected] QtOhosExtras::QOhosAbilityContext & QOhosAbilityContext::operator=(const QtOhosExtras::QOhosAbilityContext &) ===
See [https://developer.huawei.com/consumer/en/doc/harmonyos-guides/app-linking-startup App Linking]
Copy-assignment operator.


[[Category:Qt for HarmonyOS]]
[[Category:Qt for HarmonyOS]]

Revision as of 08:20, 16 September 2026

< Qt for HarmonyOS / qtohosextras doc

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