鴻蒙OS Ability intentAbility

2020-10-28 15:08 更新

使用服務(wù)模板的功能的基類(lèi),該模板用于處理工作線(xiàn)程中的后臺(tái)任務(wù),以避免在主線(xiàn)程中運(yùn)行耗時(shí)的任務(wù),從而確保應(yīng)用程序的響應(yīng)能力。

該課程是Ability的子課程。使用此類(lèi)后,您無(wú)需處理與線(xiàn)程管理相關(guān)的工作。

您應(yīng)該重寫(xiě)onProcessIntent(ohos.aafwk.content.Intent)方法,并使用它來(lái)處理所需的任務(wù)。此方法將在工作線(xiàn)程中執(zhí)行。

如果有多個(gè)任務(wù),則系統(tǒng)按任務(wù)到達(dá)時(shí)間的順序一次僅執(zhí)行一個(gè)任務(wù)。完成所有任務(wù)后,IntentAbility對(duì)象將自動(dòng)停止,并且*您無(wú)需調(diào)用Ability#stopAbility(Intent intent)即可停止它。

嵌套類(lèi)摘要

從類(lèi)ohos.aafwk.ability繼承的嵌套類(lèi)/接口。Ability
Ability.LayoutParamsHelper,Ability.WindowAttributeHelper

領(lǐng)域摘要

從ohos.app接口繼承的字段。Context
CONTEXT_IGNORE_SECURITY,CONTEXT_INCLUDE_CODECONTEXT_RESOUCE_ONLY,CONTEXT_RESTRICTED,MODE_APPEND,MODE_PRIVATE

構(gòu)造器摘要

建設(shè)者 描述
IntentAbility(String名稱(chēng)) 用于創(chuàng)建IntentAbility實(shí)例的構(gòu)造函數(shù)。

方法總結(jié)

修飾符和類(lèi)型 方法 描述
protected void onCommand(Intent intent,boolean restart) 不推薦使用。
protected void onCommand(Intent intent,boolean restart,int startId) 服務(wù)能力啟動(dòng)時(shí)回叫。
protected abstract void onProcessIntent(Intentintent) 每次該功能啟動(dòng)并調(diào)用onCommand(ohos.aafwk.content.Intent,boolean)時(shí),都要調(diào)用以處理任務(wù)。
protected void 在onStart(Intentintent) 在該功能開(kāi)始時(shí)調(diào)用,并且在整個(gè)生命周期中僅調(diào)用一次。
從類(lèi)ohos.aafwk.ability繼承的方法。Ability
addActionRoute,batchInsertcall,cancelBackgroundRunningconnectAbility,continueAbilitycontinueAbility,continueAbilityReversiblycontinueAbilityReversibly,deletedenormalizeUri,disconnectAbilitydispatchAccessibilityEventInfo,ExecuteBatch,findComponentById,getAbilityPackage,getAVController,getContinuationState,getCurrentFocus,getEnterTransitiongetFileTypes,getIntent,getLayoutParamsgetLifecycle,getOriginalDeviceId,getReturnTransition,getRootUIContentgetType,getWindow,hasWindowFocus,insert,isTerminatingkeepBackgroundRunning,normalizeUri,onAbilityResultonActive,onBackground,onBackPressedonConfigurationUpdated,onConnectonCreateForm,onDisconnectonEventDispatch,onForegroundonInactive,onkeydownonkeyup,onLeaveForeground,onMemoryLevelonNewDescription,onNewIntent,onOrientationChanged,onPostActive,onPostStart,onReconnect,onRequestPermissionsFromUserResult,onRestoreAbilityState,
onSaveAbilityState,onStoponTouchEvent,onWindowFocusChangedopenFile,openRawFile,query,reverseContinueAbilitysetAbilitySliceAnimator,setAVControllersetEnterTransition,setIntent,setIsAmbientMode,setLayoutParams,setMainRoutesetResult,setReturnTransition,setSwipeToDismiss,setUIContent,setUIContent,setWindowBackgroundColorstartAbility,startAbility,startAbilityForResult,stopAbilityterminateAbility,update
從ohos.app類(lèi)繼承的方法。AbilityContext
attachBaseContext,canRequestPermission,createBundleContext,createParallelTaskDispatchercreateSerialTaskDispatcher,DELETEFILE,getAbilityInfo,getAbilityManager,getApplicationContextgetApplicationInfo,getAppTypegetBundleCodePath,getBundleManager,getBundleName,getBundleResourcePath,getCacheDirgetCallingAbility,getCallingBundle,getClassloadergetCodeCacheDir,的getContextgetDatabaseDir,getDataDirGETDIR,getDisplayOrientation,getDistributedDirgetElementName,getExternalCacheDir,getExternalCacheDirs,getExternalFilesDirgetExternalFilesDirs,getExternalMediaDirs,getFilesDir,getGlobalTaskDispatcher,getLocalClassNamegetMainTaskDispatcher,getNoBackupFilesDir,getPattern,getPreferencesDir,getProcessInfogetResourceManager,getThemegetUITaskDispatcher,initisDeviceEncryptedStorage,isUpdatingConfigurationsrequestPermissionsFromUser,restart,setDisplayOrientation,setPatternsetShowOnLockScreen,setTheme,setTransitionAnimationsetWakeUpScreen,startAbilitiesstartAbility,
switchToCredentialEncryptedStorageContextswitchToDeviceEncryptedStorageContext,terminateAbilityterminateAbilityResult,verifyCallingOrSelfPermission,verifyCallingPermission,verifyPermissionverifySelfPermission

從類(lèi) java.lang 繼承的方法。object
cloneequals,finalize,getClasshashCode,notifynotifyAll,toString,wait,wait,wait

構(gòu)造器詳細(xì)信息

意圖能力

公共IntentAbility((String名稱(chēng))

用于創(chuàng)建IntentAbility實(shí)例的構(gòu)造函數(shù)。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)說(shuō)明
名稱(chēng) 指示功能名稱(chēng),該名稱(chēng)也用于標(biāo)識(shí)工作線(xiàn)程。

方法細(xì)節(jié)

onStart

受保護(hù)的void onStart(Intent intent)

在該功能開(kāi)始時(shí)調(diào)用,并且在整個(gè)生命周期中僅調(diào)用一次。

您無(wú)需為子類(lèi)覆蓋此方法。如果需要,可以通過(guò)調(diào)用IntentAbility基類(lèi)中的方法來(lái)覆蓋它。

覆寫(xiě):

類(lèi)Ability中的onStart

參數(shù):

參數(shù)名稱(chēng) 參數(shù)說(shuō)明
意圖 表示啟動(dòng)此功能時(shí)攜帶的信息。注意:對(duì)于服務(wù)技能,將傳遞null。

也可以看看:

Ability.onStart(Intent)

onCommand

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

不推薦使用。服務(wù)能力啟動(dòng)時(shí)回叫。

您無(wú)需為子類(lèi)覆蓋此方法。如果需要,可以通過(guò)調(diào)用IntentAbility基類(lèi)中的方法來(lái)覆蓋它。

覆寫(xiě):

Ability類(lèi)中的onCommand

參數(shù):

參數(shù)名稱(chēng) 參數(shù)說(shuō)明
意圖 指示啟動(dòng)服務(wù)功能的意圖。
重新開(kāi)始 指示啟動(dòng)模式。值為true表示服務(wù)能力在銷(xiāo)毀后重新啟動(dòng),值為false表示正常啟動(dòng)。

也可以看看:

Ability.onCommand(Intent,boolean)

onCommand

受保護(hù)的void onCommand(Intent intent,boolean restart,int startId)

服務(wù)能力啟動(dòng)時(shí)回叫。

您無(wú)需為子類(lèi)覆蓋此方法。如果需要,可以通過(guò)調(diào)用IntentAbility基類(lèi)中的方法來(lái)覆蓋它。

覆寫(xiě):

Ability類(lèi)中的onCommand

參數(shù):

參數(shù)名稱(chēng) 參數(shù)說(shuō)明
意圖 指示服務(wù)啟動(dòng)的意圖。
重新開(kāi)始 指示啟動(dòng)模式。值true表示服務(wù)在銷(xiāo)毀后重新啟動(dòng),值false表示正常啟動(dòng)。
startId 指示啟動(dòng)服務(wù)功能的次數(shù)。每當(dāng)該異能開(kāi)始時(shí),startId都會(huì)增加1。例如,如果該能力已啟動(dòng)六次,則startId的值為6。

也可以看看:

Ability.onCommand(Intent,boolean,int)

onProcessIntent

受保護(hù)的抽象void onProcessIntent(Intent intent)

每次該功能啟動(dòng)并調(diào)用onCommand(ohos.aafwk.content.Intent,boolean)時(shí),都要調(diào)用以處理任務(wù)。

您應(yīng)該為IntentAbility子類(lèi)重寫(xiě)此方法。此方法將在單獨(dú)的工作線(xiàn)程而不是主線(xiàn)程中執(zhí)行,以防止耗時(shí)的任務(wù)影響應(yīng)用程序的響應(yīng)性。

參數(shù):

參數(shù)名稱(chēng) 參數(shù)說(shuō)明
意圖 指示包含任務(wù)信息的Intent對(duì)象。
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)