使用服务模板的功能的基类,该模板用于处理工作线程中的后台任务,以避免在主线程中运行耗时的任务,从而确保应用程序的响应能力。
该课程是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 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 |
---|
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对象。 |