阅读(2988) (17)

鸿蒙OS Ability intentAbility

2020-09-21 17:27:06 更新

使用服务模板的功能的基类,该模板用于处理工作线程中的后台任务,以避免在主线程中运行耗时的任务,从而确保应用程序的响应能力。

该课程是Ability的子课程。使用此类后,您无需处理与线程管理相关的工作。

您应该重写onProcessIntent(ohos.aafwk.content.Intent)方法,并使用它来处理所需的任务。此方法将在工作线程中执行。

如果有多个任务,则系统按任务到达时间的顺序一次仅执行一个任务。完成所有任务后,IntentAbility对象将自动停止,并且*您无需调用Ability#stopAbility(Intent intent)即可停止它。

嵌套类摘要

从类ohos.aafwk.ability继承的嵌套类/接口。Ability
Ability.LayoutParamsHelperAbility.WindowAttributeHelper

领域摘要

从ohos.app接口继承的字段。Context
CONTEXT_IGNORE_SECURITYCONTEXT_INCLUDE_CODECONTEXT_RESOUCE_ONLYCONTEXT_RESTRICTEDMODE_APPENDMODE_PRIVATE

构造器摘要

建设者 描述
IntentAbility(String名称) 用于创建IntentAbility实例的构造函数。

方法总结

修饰符和类型 方法 描述
protected void onCommand(Intent intent,boolean restart) 不推荐使用。
protected void onCommand(Intent intent,boolean restart,int startId) 服务能力启动时回叫。
protected abstract void onProcessIntent(Intentintent) 每次该功能启动并调用onCommand(ohos.aafwk.content.Intent,boolean)时,都要调用以处理任务。
protected void 在onStart(Intentintent) 在该功能开始时调用,并且在整个生命周期中仅调用一次。
从类ohos.aafwk.ability继承的方法。Ability
addActionRoutebatchInsertcallcancelBackgroundRunningconnectAbilitycontinueAbilitycontinueAbilitycontinueAbilityReversiblycontinueAbilityReversiblydeletedenormalizeUridisconnectAbilitydispatchAccessibilityEventInfoExecuteBatchfindComponentByIdgetAbilityPackagegetAVControllergetContinuationStategetCurrentFocusgetEnterTransitiongetFileTypesgetIntentgetLayoutParamsgetLifecyclegetOriginalDeviceIdgetReturnTransitiongetRootUIContentgetTypegetWindowhasWindowFocusinsertisTerminatingkeepBackgroundRunningnormalizeUrionAbilityResultonActiveonBackgroundonBackPressedonConfigurationUpdatedonConnectonCreateFormonDisconnectonEventDispatchonForegroundonInactiveonkeydownonkeyuponLeaveForegroundonMemoryLevelonNewDescriptiononNewIntentonOrientationChangedonPostActiveonPostStartonReconnectonRequestPermissionsFromUserResultonRestoreAbilityState
onSaveAbilityStateonStoponTouchEventonWindowFocusChangedopenFileopenRawFilequeryreverseContinueAbilitysetAbilitySliceAnimatorsetAVControllersetEnterTransitionsetIntentsetIsAmbientModesetLayoutParamssetMainRoutesetResultsetReturnTransitionsetSwipeToDismisssetUIContentsetUIContentsetWindowBackgroundColorstartAbilitystartAbilitystartAbilityForResultstopAbilityterminateAbilityupdate
从ohos.app类继承的方法。AbilityContext
attachBaseContextcanRequestPermissioncreateBundleContextcreateParallelTaskDispatchercreateSerialTaskDispatcherDELETEFILEgetAbilityInfogetAbilityManagergetApplicationContextgetApplicationInfogetAppTypegetBundleCodePathgetBundleManagergetBundleNamegetBundleResourcePathgetCacheDirgetCallingAbilitygetCallingBundlegetClassloadergetCodeCacheDir的getContextgetDatabaseDirgetDataDirGETDIRgetDisplayOrientationgetDistributedDirgetElementNamegetExternalCacheDirgetExternalCacheDirsgetExternalFilesDirgetExternalFilesDirsgetExternalMediaDirsgetFilesDirgetGlobalTaskDispatchergetLocalClassNamegetMainTaskDispatchergetNoBackupFilesDirgetPatterngetPreferencesDirgetProcessInfogetResourceManagergetThemegetUITaskDispatcherinitisDeviceEncryptedStorageisUpdatingConfigurationsrequestPermissionsFromUserrestartsetDisplayOrientationsetPatternsetShowOnLockScreensetThemesetTransitionAnimationsetWakeUpScreenstartAbilitiesstartAbility
switchToCredentialEncryptedStorageContextswitchToDeviceEncryptedStorageContextterminateAbilityterminateAbilityResultverifyCallingOrSelfPermissionverifyCallingPermissionverifyPermissionverifySelfPermission

从类 java.lang 继承的方法。object
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

构造器详细信息

意图能力

公共IntentAbility((String名称)

用于创建IntentAbility实例的构造函数。

参数:

参数名称 参数说明
名称 指示功能名称,该名称也用于标识工作线程。

方法细节

onStart

受保护的void onStart(Intent intent)

在该功能开始时调用,并且在整个生命周期中仅调用一次。

您无需为子类覆盖此方法。如果需要,可以通过调用IntentAbility基类中的方法来覆盖它。

覆写:

Ability中的onStart

参数:

参数名称 参数说明
意图 表示启动此功能时携带的信息。注意:对于服务技能,将传递null。

也可以看看:

Ability.onStart(Intent)

onCommand

@Deprecated protected void onCommand(Intent intent,boolean restart)

不推荐使用。服务能力启动时回叫。

您无需为子类覆盖此方法。如果需要,可以通过调用IntentAbility基类中的方法来覆盖它。

覆写:

Ability类中的onCommand

参数:

参数名称 参数说明
意图 指示启动服务功能的意图。
重新开始 指示启动模式。值为true表示服务能力在销毁后重新启动,值为false表示正常启动。

也可以看看:

Ability.onCommand(Intent,boolean)

onCommand

受保护的void onCommand(Intent intent,boolean restart,int startId)

服务能力启动时回叫。

您无需为子类覆盖此方法。如果需要,可以通过调用IntentAbility基类中的方法来覆盖它。

覆写:

Ability类中的onCommand

参数:

参数名称 参数说明
意图 指示服务启动的意图。
重新开始 指示启动模式。值true表示服务在销毁后重新启动,值false表示正常启动。
startId 指示启动服务功能的次数。每当该异能开始时,startId都会增加1。例如,如果该能力已启动六次,则startId的值为6。

也可以看看:

Ability.onCommand(Intent,boolean,int)

onProcessIntent

受保护的抽象void onProcessIntent(Intent intent)

每次该功能启动并调用onCommand(ohos.aafwk.content.Intent,boolean)时,都要调用以处理任务。

您应该为IntentAbility子类重写此方法。此方法将在单独的工作线程而不是主线程中执行,以防止耗时的任务影响应用程序的响应性。

参数:

参数名称 参数说明
意图 指示包含任务信息的Intent对象。