鸿蒙OS开发文档 鸿蒙OS Ability intentAbility

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 6

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

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

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

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

嵌套类摘要

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

领域摘要

从ohos.app接口继承的字段。Context
CONTEXT_IGNORE_SECURITY,CONTEXT_INCLUDE_CODE,CONTEXT_RESOUCE_ONLY,CONTEXT_RESTRICTED,MODE_APPEND,MODE_PRIVATE

构造器摘要

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

方法总结

修饰符和类型方法描述
protected voidonCommand(Intent intent,boolean restart)不推荐使用。
protected voidonCommand(Intent intent,boolean restart,int startId)服务能力启动时回叫。
protected abstract voidonProcessIntent(Intentintent)每次该功能启动并调用onCommand(ohos.aafwk.content.Intent,boolean)时,都要调用以处理任务。
protected void在onStart(Intentintent)在该功能开始时调用,并且在整个生命周期中仅调用一次。
从类ohos.aafwk.ability继承的方法。Ability
addActionRoute,batchInsert,call,cancelBackgroundRunning,connectAbility,continueAbility,continueAbility,continueAbilityReversibly,continueAbilityReversibly,delete,denormalizeUri,disconnectAbility,dispatchAccessibilityEventInfo,ExecuteBatch,findComponentById,getAbilityPackage,getAVController,getContinuationState,getCurrentFocus,getEnterTransition,getFileTypes,getIntent,getLayoutParams,getLifecycle,getOriginalDeviceId,getReturnTransition,getRootUIContent,getType,getWindow,hasWindowFocus,insert,isTerminating,keepBackgroundRunning,normalizeUri,onAbilityResult,onActive,onBackground,onBackPressed,onConfigurationUpdated,onConnect,onCreateForm,onDisconnect,onEventDispatch,onForeground,onInactive,onkeydown,onkeyup,onLeaveForeground,onMemoryLevel,onNewDescription,onNewIntent,onOrientationChanged,onPostActive,onPostStart,onReconnect,onRequestPermissionsFromUserResult,onRestoreAbilityState,
onSaveAbilityState,onStop,onTouchEvent,onWindowFocusChanged,openFile,openRawFile,query,reverseContinueAbility,setAbilitySliceAnimator,setAVController,setEnterTransition,setIntent,setIsAmbientMode,setLayoutParams,setMainRoute,setResult,setReturnTransition,setSwipeToDismiss,setUIContent,setUIContent,setWindowBackgroundColor,startAbility,startAbility,startAbilityForResult,stopAbility,terminateAbility,update
从ohos.app类继承的方法。AbilityContext
attachBaseContext,canRequestPermission,createBundleContext,createParallelTaskDispatcher,createSerialTaskDispatcher,DELETEFILE,getAbilityInfo,getAbilityManager,getApplicationContext,getApplicationInfo,getAppType,getBundleCodePath,getBundleManager,getBundleName,getBundleResourcePath,getCacheDir,getCallingAbility,getCallingBundle,getClassloader,getCodeCacheDir,的getContext,getDatabaseDir,getDataDir,GETDIR,getDisplayOrientation,getDistributedDir,getElementName,getExternalCacheDir,getExternalCacheDirs,getExternalFilesDir,getExternalFilesDirs,getExternalMediaDirs,getFilesDir,getGlobalTaskDispatcher,getLocalClassName,getMainTaskDispatcher,getNoBackupFilesDir,getPattern,getPreferencesDir,getProcessInfo,getResourceManager,getTheme,getUITaskDispatcher,init,isDeviceEncryptedStorage,isUpdatingConfigurations,requestPermissionsFromUser,restart,setDisplayOrientation,setPattern,setShowOnLockScreen,setTheme,setTransitionAnimation,setWakeUpScreen,startAbilities,startAbility,
switchToCredentialEncryptedStorageContext,switchToDeviceEncryptedStorageContext,terminateAbility,terminateAbilityResult,verifyCallingOrSelfPermission,verifyCallingPermission,verifyPermission,verifySelfPermission
从类 java.lang 继承的方法。object
clone,equals,finalize,getClass,hashCode,notify,notifyAll,toString,wait,wait,wait

构造器详细信息

意图能力

公共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对象。