鸿蒙OS Ability intentAbility
使用服务模板的功能的基类,该模板用于处理工作线程中的后台任务,以避免在主线程中运行耗时的任务,从而确保应用程序的响应能力。
该课程是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) | 在该功能开始时调用,并且在整个生命周期中仅调用一次。 |
从类 java.lang 继承的方法。object |
---|
clone,equals,finalize,getClass,hashCode,notify,notifyAll,toString,wait,wait,wait |
构造器详细信息
意图能力
公共IntentAbility((String名称)
用于创建IntentAbility实例的构造函数。
参数:
参数名称 | 参数说明 |
---|---|
名称 | 指示功能名称,该名称也用于标识工作线程。 |
方法细节
onStart
受保护的void onStart(Intent intent)
在该功能开始时调用,并且在整个生命周期中仅调用一次。
您无需为子类覆盖此方法。如果需要,可以通过调用IntentAbility基类中的方法来覆盖它。
覆写:
参数:
参数名称 | 参数说明 |
---|---|
意图 | 表示启动此功能时携带的信息。注意:对于服务技能,将传递null。 |
也可以看看:
onCommand
@Deprecated protected void onCommand(Intent intent,boolean restart)
不推荐使用。服务能力启动时回叫。
您无需为子类覆盖此方法。如果需要,可以通过调用IntentAbility基类中的方法来覆盖它。
覆写:
参数:
参数名称 | 参数说明 |
---|---|
意图 | 指示启动服务功能的意图。 |
重新开始 | 指示启动模式。值为true表示服务能力在销毁后重新启动,值为false表示正常启动。 |
也可以看看:
Ability.onCommand(Intent,boolean)
onCommand
受保护的void onCommand(Intent intent,boolean restart,int startId)
服务能力启动时回叫。
您无需为子类覆盖此方法。如果需要,可以通过调用IntentAbility基类中的方法来覆盖它。
覆写:
参数:
参数名称 | 参数说明 |
---|---|
意图 | 指示服务启动的意图。 |
重新开始 | 指示启动模式。值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对象。 |
更多建议: