鴻蒙OS Ability intentAbility

2020-10-28 15:08 更新

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

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

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

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

嵌套類摘要

從類ohos.aafwk.ability繼承的嵌套類/接口。Ability
Ability.LayoutParamsHelper,Ability.WindowAttributeHelper

領(lǐng)域摘要

從ohos.app接口繼承的字段。Context
CONTEXT_IGNORE_SECURITY,CONTEXT_INCLUDE_CODE,CONTEXT_RESOUCE_ONLY,CONTEXT_RESTRICTEDMODE_APPEND,MODE_PRIVATE

構(gòu)造器摘要

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

方法總結(jié)

修飾符和類型 方法 描述
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) 在該功能開始時(shí)調(diào)用,并且在整個(gè)生命周期中僅調(diào)用一次。
從類ohos.aafwk.ability繼承的方法。Ability
addActionRoute,batchInsertcall,cancelBackgroundRunningconnectAbility,continueAbility,continueAbility,continueAbilityReversibly,continueAbilityReversibly,deletedenormalizeUri,disconnectAbility,dispatchAccessibilityEventInfo,ExecuteBatchfindComponentById,getAbilityPackage,getAVControllergetContinuationState,getCurrentFocus,getEnterTransitiongetFileTypes,getIntent,getLayoutParamsgetLifecycle,getOriginalDeviceId,getReturnTransition,getRootUIContentgetType,getWindow,hasWindowFocus,insertisTerminating,keepBackgroundRunningnormalizeUri,onAbilityResultonActive,onBackground,onBackPressed,onConfigurationUpdated,onConnect,onCreateFormonDisconnectonEventDispatch,onForegroundonInactive,onkeydownonkeyup,onLeaveForeground,onMemoryLevelonNewDescription,onNewIntent,onOrientationChanged,onPostActiveonPostStart,onReconnect,onRequestPermissionsFromUserResult,onRestoreAbilityState,
onSaveAbilityState,onStop,onTouchEvent,onWindowFocusChanged,openFile,openRawFile,query,reverseContinueAbility,setAbilitySliceAnimator,setAVController,setEnterTransition,setIntent,setIsAmbientMode,setLayoutParams,setMainRoute,setResult,setReturnTransitionsetSwipeToDismiss,setUIContentsetUIContent,setWindowBackgroundColorstartAbility,startAbility,startAbilityForResult,stopAbility,terminateAbility,update
從ohos.app類繼承的方法。AbilityContext
attachBaseContextcanRequestPermission,createBundleContextcreateParallelTaskDispatcher,createSerialTaskDispatcherDELETEFILE,getAbilityInfo,getAbilityManager,getApplicationContext,getApplicationInfogetAppType,getBundleCodePathgetBundleManager,getBundleName,getBundleResourcePathgetCacheDir,getCallingAbility,getCallingBundle,getClassloader,getCodeCacheDir的getContext,getDatabaseDir,getDataDir,GETDIRgetDisplayOrientation,getDistributedDirgetElementName,getExternalCacheDirgetExternalCacheDirs,getExternalFilesDir,getExternalFilesDirs,getExternalMediaDirs,getFilesDirgetGlobalTaskDispatcher,getLocalClassNamegetMainTaskDispatcher,getNoBackupFilesDirgetPattern,getPreferencesDir,getProcessInfo,getResourceManagergetTheme,getUITaskDispatcher,init,isDeviceEncryptedStorage,isUpdatingConfigurations,requestPermissionsFromUser,restartsetDisplayOrientation,setPatternsetShowOnLockScreen,setThemesetTransitionAnimation,setWakeUpScreen,startAbilitiesstartAbility,
switchToCredentialEncryptedStorageContext,switchToDeviceEncryptedStorageContextterminateAbility,terminateAbilityResult,verifyCallingOrSelfPermission,verifyCallingPermissionverifyPermission,verifySelfPermission

從類 java.lang 繼承的方法。object
clone,equals,finalize,getClass,hashCode,notifynotifyAlltoString,waitwait,wait

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

意圖能力

公共IntentAbility((String名稱)

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

參數(shù):

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

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

onStart

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

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

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

覆寫:

Ability中的onStart

參數(shù):

參數(shù)名稱 參數(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ú)需為子類覆蓋此方法。如果需要,可以通過(guò)調(diào)用IntentAbility基類中的方法來(lái)覆蓋它。

覆寫:

Ability類中的onCommand

參數(shù):

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

也可以看看:

Ability.onCommand(Intent,boolean)

onCommand

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

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

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

覆寫:

Ability類中的onCommand

參數(shù):

參數(shù)名稱 參數(shù)說(shuō)明
意圖 指示服務(wù)啟動(dòng)的意圖。
重新開始 指示啟動(dòng)模式。值true表示服務(wù)在銷毀后重新啟動(dòng),值false表示正常啟動(dòng)。
startId 指示啟動(dòng)服務(wù)功能的次數(shù)。每當(dāng)該異能開始時(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子類重寫此方法。此方法將在單獨(dú)的工作線程而不是主線程中執(zhí)行,以防止耗時(shí)的任務(wù)影響應(yīng)用程序的響應(yīng)性。

參數(shù):

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)