日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS Ability AbilitySlice

作為使用 Page 模板的 Ability 的基本單位 ,AbilitySlice 為服務邏輯和 UI 顯示提供了帶有載體的功能。

專注于為中小企業(yè)提供成都網(wǎng)站制作、成都做網(wǎng)站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)常山免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了近千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。

一個能力可以有多個能力切片。您必須重寫 Ability#onStart(Intent)方法以指定默認的能力切片。通過使用 Ability#setMainRoute(String)指定此默認路由。

您可以繼承 AbilitySlice 類來實現(xiàn)自己的能力切片,并在 onStart(ohos.aafwk.content.Intent)方法中設置其 UI ??梢允褂?setUIContent(ohos.agp.components.ComponentContainer)或setUIContent(int)來設置 UI 。通常,在功能切片的整個生命周期中,只需設置一次 UI。示例代碼:

 public class MyAbilitySlice extends AbilitySlice {
     protected void onStart(Intent intent) {
         super.onStart(intent);
         // setup UI content from a layout resource
         setUIContent(R.res.layout);
     }
 }

您可以使用 present(ohos.aafwk.ability.AbilitySlice,ohos.aafwk.content.Intent)方法來呈現(xiàn)新的能力切片,也可以使用 startAbility(ohos.aafwk.content.Intent)方法來啟動新能力。

能力切片必須始終托管在一個能力中,并且其生命周期會隨著能力的變化而變化。功能片還具有其獨立的生命周期更改,該更改在功能片切換期間發(fā)生。

注意:在大多數(shù)情況下,您負責創(chuàng)建和維護能力切片實例。但是,系統(tǒng)會在某些情況下創(chuàng)建實例。例如,系統(tǒng)在能力的首次啟動期間創(chuàng)建能力切片實例。這要求所有 AbilitySlice 子類都具有默認的無參數(shù)構造函數(shù)。根據(jù) Java 的定義,僅當您未顯式聲明參數(shù)化構造函數(shù)時,編譯器才會為該類提供默認的無參數(shù)構造函數(shù)。因此,在覆蓋 AbilitySlice 子類時,如果您的實現(xiàn)具有參數(shù)化構造函數(shù),則必須顯式聲明一個無參數(shù)構造函數(shù)。

使用頁面模板輸入能力

您可以指定多個動作條目和一個功能的默認主條目。每個條目代表功能和該功能可以提供的 UI。啟動一項功能后,系統(tǒng)會將已轉移“ Intent”中的“操作”字段與定義的條目進行匹配。如果找到指定的能力片,則系統(tǒng)將啟動它。如果轉移未指定的操作字段被Intent在被轉讓或動作字段Intent不匹配所定義的任何條目,則顯示默認能力切片。

以下代碼顯示了如何將條目設置為能力:

 public class MainAbility extends Ability {
     public void onStart(Intent intent) {
         super.onStart(intent);
         // set the main entry
         setMainRoute(MainSlice.class.getName());

 
         // add action for ability
         addActionRoute("action.pay", PaySlice.class.getName());
         addActionRoute("action.scan", ScanSlice.class.getName());
     }
 }

前面的代碼僅定義運行時的入口路由。要將能力的功能暴露給其他能力,必須在配置文件 config.json中 注冊操作字段。示例代碼:

 {
     "module":{
         ...
         "abilities":[
           {
               ...
               "description": "Main ability of hiworld",
               "name": ".MainAbility",
               "label": "main ability",
               "icon": "main-ability.png",
               "type": "page",
               "visible": true,
               "orientation": "unspecified",
               "launch-mode": "standard",
               "skills"[
                   {
                       "actions":[
                           "action.pay",
                           "action.scan"
                       ]
                   }
               ]
               ...
           }
         ]
         ...
     }
 }

以上述方式注冊受支持的動作后,其他能力可以通過指定動作使用您的能力,并直接打開相應的能力片。示例代碼:


     
     Intent intent = new Intent();
     Operation operation = new Intent.OperationBuilder()
             .withAction("action.pay")
             .withDeviceId("")
             .withBundleName("xxx")
             .withAbilityName("yyy")
             .build();
     intent.setOperation(operation);
     startAbility(intent);

     

AbilitySlice 生命周期

能力切片的生命周期與承載它的能力有關。功能片具有與宿主功能相同的生命周期狀態(tài)和生命周期回調方法。異能的生命周期狀態(tài)一旦更改,其異能切片就會發(fā)生相同的變化,并調用相同的回調方法。功能切片也可以具有其獨立的生命周期更改。在切換能力中的能力切片期間會發(fā)生此獨立更改。但是,這樣的切換不會影響宿主能力的生命周期。

能力切片具有以下四個生命周期狀態(tài):

  • 初始:能力切片已加載到內存中,但未運行。它是所有能力切片的初始狀態(tài)。
  • 不活躍:能力切片已加載并執(zhí)行,但不是交互式的。通常,在能力切片變?yōu)?ACTIVEBackground 之前是中間狀態(tài)。在此狀態(tài)下功能切片的 UI 可能可見,但無法接收輸入事件。
  • 活動:能力切片可見且具有交互性。認為能力切片具有焦點。
  • 背景:能力切片是不可見的。如果宿主能力也處于后臺,則在內存不足的情況下會破壞能力和能力切片。

與功能類似,功能切片提供以下生命周期回調方法。您可以覆蓋它們。


 
  public class MainAbilitySlice extends AbilitySlice {
      protected void onStart(Intent intent);

 
      protected void onActive();

 
      protected void onInactive();

 
      protected void onForeground(Intent intent);

 
      protected void onBackground();

 
      protected void onStop();
  }

 

下圖顯示了能力切片的完整生命周期。一個能力切片在任何時候都只能處于一種狀態(tài)。并非所有州都支持直接過渡。

注意:onStart(ohos.aafwk.content.Intent)方法在整個生命周期中只能調用一次。

下面提供了每種生命周期回調方法的含義以及一些最佳實踐建議。

  • onStart(ohos.aafwk.content.Intent):必須為 UI 初始化設置實現(xiàn)此方法,例如 setUIContent(int)。在整個生命周期中只能調用一次此方法。調用方可以使用Intent類攜帶一些自定義的鍵值,并通過intent提供的方法獲取這些參數(shù)。
  • onActive():當功能片返回活動狀態(tài)時,將調用此方法?;卣{之后,UI 是交互式的。
  • onInactive():當能力切片被完全或部分覆蓋時,將調用此方法?;卣{后,UI 不交互式。
  • onForeground(ohos.aafwk.content.Intent)()}:當功能片返回到前景時,將調用此方法??梢栽诨卣{中恢復或初始化應用程序的交互邏輯。如果在能力切片返回到前景時需要指定新的自定義參數(shù),則可以傳輸新的Intent參數(shù)。
  • onBackground():當能力切片進入背景時,將調用此方法。在這種狀態(tài)下,您不能長時間執(zhí)行后臺任務,因為系統(tǒng)可能會隨時停止后臺程序的運行。
  • onStop():調用此方法以銷毀能力切片。您可以使用此方法回收資源。

在能力切片之間切換

您可以使用 present(ohos.aafwk.ability.AbilitySlice,ohos.aafwk.content.Intent)方法呈現(xiàn)新的能力切片,并使用Intent傳輸自定義參數(shù)。示例代碼:


 
     Button button = new Button(this);
     button.setClickedListener(listener -> {
         AbilitySlice targetSlice = new MyAbilitySlice();
         Intent intent = new Intent();
         intent.setParam("value", 10);
         present(targetSlice, intent);
     });

 

注意:一個能力中最多可以同時顯示 1024 個能力切片。如果嘗試顯示第 1025 個異能切片,系統(tǒng)將強制使該異能崩潰。為了避免這種情況,如果需要同時顯示大量能力切片,則必須改進代碼。

領域摘要

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

構造器摘要

建設者描述
AbilitySlice()

方法總結

修飾符和類型方法描述
布爾值acquireAbilityFormAsync(Intent intent,AbilityForm.OnAcquiredCallback acquisitionCallback)請求目標能力提供的 AbilityForm 實例。
布爾值connectAbility(Intent intent,IAbilityConnection conn)將主持人能力與使用服務模板的能力聯(lián)系起來。
voidcontinueAbility()將主機功能遷移到同一分布式網(wǎng)絡上的另一臺設備。
voidcontinueAbility(string deviceId)將主機功能遷移到同一分布式網(wǎng)絡上的給定設備。
voidcontinueAbilityReversible()以可逆的方式將主機功能遷移到同一分布式網(wǎng)絡上的另一臺設備,該功能允許將該功能通過 reverseContinueAbility()遷移回本地設備。
voidcontinueAbilityReversible(string deviceId)以可逆的方式將主機功能遷移到同一分布式網(wǎng)絡上的另一臺設備,該功能允許將該功能通過reverseContinueAbility()遷移回本地設備。
void斷開連接能力(IAbilityConnection conn)將主機功能與使用服務模板的功能斷開連接。
ComponentfindComponentById(int resID)根據(jù)資源 ID 在 XML 文件中查找組件。
AbilitygetAbility()獲得該切片所屬的能力。
ContinuationStategetContinuationState()獲得宿主能力的遷移狀態(tài)。
WindowManager.LayoutConfiggetLayoutParams()獲取能力的窗口布局參數(shù)。
LifecyclegetLifecycle()獲取當前能力切片的Lifecycle對象。
StringgetOriginalDeviceId()獲取從其遷移主機功能的源設備的 ID。
WindowgetWindow()獲取與當前能力對應的窗口。
protected voidonAbilityResult(int requestCode,int resultCode,Intent resultData)在調用startAbilityForResult(ohos.aafwk.content.Intent,int)以啟動功能并返回結果時調用。
protected voidonActive()回叫時的能力片進入 ACTIVE 狀態(tài)。
protected voidonBackground()技能片進入背景狀態(tài)時回調。
protected voidonBackPressed()當按下返回鍵時回叫。
protected voidonForeground (Intent intent)當能力片的狀態(tài)從背景變?yōu)椴?strong>活動時回調。
protected voidonInactive()當功能片進入 INACTIVE 狀態(tài)時回調。
布爾值onKeyDown(int keyCode,KeyEvent keyEvent)按下鍵時調用。
布爾值onKeyUp(int keyCode,KeyEvent keyEvent)釋放鍵時調用。
protected voidonOrientationChanged(AbilityInfo.DisplayOrientation displayOrientation)當屏幕的顯示方向改變時回調。
protected voidonResult(int requestCode,Intent resultIntent)返回presentForResult(ohos.aafwk.ability.AbilitySlice,ohos.aafwk.content.Intent,int)方法的結果時回調。
protected void在onStart(Intent intent)開始功能切片時回調。
protected voidonStop()在摧毀能力片之前回叫。
void當前(AbilitySlice targetSlice,Intent intent)提供另一個能力切片,可以是尚未開始的能力切片或宿主能力中的現(xiàn)有能力切片。
voidpresentForResult(AbilitySlice targetSlice,Intent intent,int requestCode)呈現(xiàn)另一個能力切片,并通過調用setResult(ohos.aafwk.content.Intent)返回目標能力切片的結果集。
voidreleaseAbilityForm(AbilityForm能力 表單)釋放主機能力的指定 AbilityForm 實例。
布爾值reverseContinueAbility()將主機功能從同一分布式網(wǎng)絡上的另一臺設備遷移回本地設備。
voidsetDisplayOrientation(AbilityInfo.DisplayOrientation  requestedOrientation)設置主持人能力的顯示方向。
voidsetIsAmbientMode(boolean isEnabled)設置窗口的輸入 AOD 模式
voidsetLayoutParams(WindowManager.LayoutConfig 參數(shù))設置功能的窗口布局參數(shù)。
voidsetResult(Intent resultData)設置銷毀能力切片時要返回的數(shù)據(jù)。
voidsetUIContent(int layoutRes)通過使用布局資源 ID 來擴大布局資源。
voidsetUIContent(ComponentContainer componentContainer)通過使用 ComponentContainer來膨脹 UI 控件。
voidstartAbility(Intent intent)開始一項新技能。
voidstartAbility(Intent intent,AbilityOptions 選項)從選項開始新技能。
voidstartAbilityForResult(Intent intent,int requestCode)啟動一個異能并在該異能被銷毀時返回執(zhí)行結果。
布爾值stopAbility(Intent intent)破壞使用服務模板的能力。
void終止()摧毀當前能力切片。
void終止能力()破壞主機能力。
StringtoString()提供 impl 和相應的切片信息,以方便人類閱讀。
從類 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,初始化,isDeviceEncryptedStorage,isUpdatingConfigurations,requestPermissionsFromUser,重啟,setPattern,setShowOnLockScreen,setTheme,setTransitionAnimation,setWakeUpScreen,startAbilities,起動性能,switchToCredentialEncryptedStorageContext,
switchToDeviceEncryptedStorageContext,terminateAbility,terminateAbilityResult,verifyCallingOrSelfPermission,verifyCallingPermission,verifyPermission,verifySelfPermission
從類 java.lang繼承的方法。object
clone,equals,finalize,getClass,hashCode,notify,notifyAll,wait,wait,wait

構造器詳細信息

能力切片

公共 AliceSlice()

方法細節(jié)

onStart

受保護的 void onStart(Intent intent)

開始功能切片時回調。使用 intent 參數(shù)傳送啟動信息。

您必須為每個功能切片覆蓋此方法,并使用 setUIContent(int)或setUIContent(ohos.agp.components.ComponentContainer)方法來設置 UI。

在能力切片的整個Lifecycle中只能調用一次此方法。因此,建議您使用此方法來實現(xiàn)初始化,例如,初始化計時器或定義全局對象。

參數(shù):

參數(shù)名稱參數(shù)說明
Intent指示能力切片開始時攜帶的信息。

活躍

protected void onActive()

回叫時的能力片進入 ACTIVE狀態(tài)。

能力切片中的UI ACTIVE狀態(tài)已獲得焦點和是交互式的。

不活動時

protected void onInactive()

當功能片進入 INACTIVE 狀態(tài)時回調 。

INACTIVE是中間狀態(tài),并且可以立即改變到 ACTIVE背景。在此狀態(tài)下,功能片的 UI 可能可見,但不是交互式的。建議您不要使用此方法來觸發(fā)復雜的服務邏輯。

在前景上

protected void onForeground(Intent intent)

當能力片的狀態(tài)從背景變?yōu)椴?活動時回調 。

能力切片返回到前景。您可以使用此方法來實現(xiàn)重新初始化或通過使用 intent 參數(shù)來調整 UI。

參數(shù):

參數(shù)名稱參數(shù)說明
Intent指示能力切片返回不活動狀態(tài)時攜帶的信息。

在背景上

protected void onBackground()

技能片進入背景狀態(tài)時回調 。

處于背景狀態(tài)的能力切片的用戶界面是不可見的,并且不是交互式的。建議您使用此方法停止或釋放資源。

停止

protected void onStop()

在摧毀能力片之前回叫。

功能切片調用 Terminate()方法后,將回調此方法。您可以使用此方法回收資源。

能力結果

protected void onAbilityResult(int requestCode,int resultCode,Intent resultData)

在調用 startAbilityForResult(ohos.aafwk.content.Intent,int)以啟動功能并返回結果時調用。

此方法提供的功能與該功能的Ability#onAbilityResult(int,int,Intent)方法相同。

參數(shù):

參數(shù)名稱參數(shù)說明
請求代碼指示功能啟動后返回的請求代碼。您可以定義請求代碼以標識能力返回的結果。取值范圍是0?65535。
resultCode指示該功能啟動后返回的結果代碼。您可以定義結果代碼以識別錯誤。
resultData指示該功能啟動后返回的數(shù)據(jù)。您可以定義返回的數(shù)據(jù)。該值可以為空。

也可以看看:

startAbilityForResult(Intent,int)

結果

protected void onResult(int requestCode,Intent resultIntent)

返回 presentForResult(ohos.aafwk.ability.AbilitySlice,ohos.aafwk.content.Intent,int)方法的結果時 回調。

當調用presentForResult(ohos.aafwk.ability.AbilitySlice,ohos.aafwk.content.Intent,int)以啟動新的功能片時,銷毀功能片時將返回執(zhí)行結果。您可以重寫此方法來處理結果。

參數(shù):

參數(shù)名稱參數(shù)說明
請求代碼指示能力切片啟動后返回的請求代碼。您可以定義請求代碼以標識能力切片返回的結果。取值范圍是 0?65535。
resultIntent指示銷毀起始異能之后返回的數(shù)據(jù)。此參數(shù)可以為空。

也可以看看:

presentForResult(AbilitySlice,Intent,int),setResult(Intent)

方向改變

受保護的 void onOrientationChanged((AbilityInfo.DisplayOrientation displayOrientation)

當屏幕的顯示方向改變時回調。

當顯示方向改變時,您可以重寫此方法以實現(xiàn)您的邏輯。默認情況下,更改顯示方向時不執(zhí)行任何操作。

參數(shù):

參數(shù)名稱參數(shù)說明
displayOrientation指示新的顯示方向。支持以下值:DisplayOrientation#LANDSCAPE,DisplayOrientation#PORTRAIT,DisplayOrientation#FOLLOWRECENT和DisplayOrientation#UNSPECIFIED。

onBackPressed

protected void onBackPressed()

當按下返回鍵時回叫。

默認實現(xiàn)會破壞能力切片。您可以覆蓋此方法。

按下按鍵

public boolean onKeyDown(int keyCode,KeyEvent keyEvent)

按下鍵時調用。當 AbilitySlice 中的任何組件獲得焦點時,將首先處理該組件的按下事件。如果為組件的按下事件觸發(fā)的回調返回 true,則不會調用此回調。此回調的默認實現(xiàn)不執(zhí)行任何操作,并返回 false。

參數(shù):

參數(shù)名稱參數(shù)說明
關鍵代碼指示按下的鍵的代碼。
keyEvent指示按下事件。

返回值:

如果已處理此事件且將不進一步傳遞,則返回 true;否則,返回 false。如果未處理此事件,則應返回 false并應將其傳遞給其他處理程序。

也可以看看:

onKeyUp(int,ohos.multimodalinput.event.KeyEvent)

在關鍵

public boolean onKeyUp(int keyCode,KeyEvent keyEvent)

釋放鍵時調用。當 AbilitySlice 中的任何組件獲得焦點時,將首先處理該組件的按鍵事件。如果為組件的按鍵事件觸發(fā)的回調返回 true,則不會調用此回調。此回調的默認實現(xiàn)不執(zhí)行任何操作,并返回 false。

參數(shù):

參數(shù)名稱參數(shù)說明
關鍵代碼指示已釋放密鑰的代碼。
keyEvent指示按鍵事件。

返回值:

如果已處理此事件且將不進一步傳遞,則返回 true;否則,返回 false。如果未處理此事件,則應返回false并應將其傳遞給其他處理程序。

也可以看看:

onKeyDown(int,ohos.multimodalinput.event.KeyEvent)

字符串

公共string toString()

提供 impl 和相應的切片信息,以方便人類閱讀。

覆寫:

類 Object中的toString

返回值:

字符串格式的信息。

獲取窗口

公共Window getWindow()

獲取與當前能力對應的窗口。

此方法提供的功能與 Ability#getWindow()方法相同。

返回值:

返回與當前能力相對應的窗口。

獲取布局參數(shù)

public WindowManager.LayoutConfig getLayoutParams()

獲取能力的窗口布局參數(shù)。必須為所有功能的窗口設置布局參數(shù)。為父窗口提供了這些參數(shù),以指定如何布置當前功能的窗口。

此方法提供的功能與 Ability#getLayoutParams()方法相同。

返回值:

返回能力的窗口布局參數(shù);如果未設置布局參數(shù),則返回null。

設置布局參數(shù)

public void setLayoutParams(WindowManager.LayoutConfig 參數(shù))

設置功能的窗口布局參數(shù)。為父窗口提供了這些參數(shù),以指定如何布置當前功能的窗口。

此方法提供的功能與 Ability#setLayoutParams(LayoutConfig)方法相同。

參數(shù):

參數(shù)名稱參數(shù)說明
參數(shù)指示包含布局參數(shù)的 WindowManager.LayoutConfig 對象。此參數(shù)不能為空。

設置環(huán)境模式

public void setIsAmbientMode(boolean isEnabled)

設置窗口的輸入 AOD 模式

參數(shù):

參數(shù)名稱參數(shù)說明
isEnabled指示是否啟用了 AOD 模式

設置UI內容

public final void setUIContent(int layoutRes)

通過使用布局資源 ID 來擴大布局資源。

參數(shù):

參數(shù)名稱參數(shù)說明
layoutRes表示布局資源ID,不能為負數(shù)。

也可以看看:

setUIContent(ComponentContainer)

設置UI內容

public void setUIContent((ComponentContainer componentContainer)

通過使用 ComponentContainer來膨脹 UI 控件 。

您可以創(chuàng)建一個包含多個組件的 ComponentContainer 實例。

參數(shù):

參數(shù)名稱參數(shù)說明
componentContainer指示一組定制組件。

也可以看看:

setUIContent(int)

按ID查找組件

public Component findComponentById(int resID)

根據(jù)資源 ID 在 XML 文件中查找組件。

參數(shù):

參數(shù)名稱參數(shù)說明
識別碼指示組件的資源 ID。

返回值:

如果找到記錄,則返回與 ID 對應的組件;否則返回 null。

當下

public final void present(AbilitySlice targetSlice,Intent intent)

提供另一個能力切片,可以是尚未開始的能力切片或宿主能力中的現(xiàn)有能力切片。

您可以使用 Intent對象傳遞必需的信息。

僅在以下情況下可以調用此方法:

  • 主機能力在 ACTIVE狀態(tài)。
  • 目標能力切片未啟動或破壞。
  • 宿主技能中的技能片數(shù)不超過 1024。

參數(shù):

參數(shù)名稱參數(shù)說明
targetSlice指示目標能力切片,不能為空。
intent表示切換過程中攜帶的信息,不能為空。

也可以看看:

presentForResult(AbilitySlice,Intent,int)

呈現(xiàn)結果

public final void presentForResult(AbilitySlice targetSlice,Intent intent,int requestCode)

呈現(xiàn)另一個能力切片,并通過調用 setResult(ohos.aafwk.content.Intent) 返回目標能力切片的結果集 。

您可以使用 Intent 對象傳遞必需的信息。

僅在以下情況下可以調用此方法:

  • 目前的能力片的主機能力在 ACTIVE 狀態(tài)。
  • 目標能力切片未啟動或破壞。
  • 主持人能力中有1024個或更少的能力切片。

參數(shù):

參數(shù)名稱參數(shù)說明
targetSlice指示目標能力切片。此參數(shù)不能為空。
Intent表示切換過程中攜帶的信息,不能為空。
請求代碼指示定制的請求代碼,不能為負數(shù)。

也可以看看:

setResult(Intent),onResult(int,Intent)

設定結果

public final void setResult(Intent resultData)

設置銷毀能力切片時要返回的數(shù)據(jù)。

當能力切片調用 Terminate()方法時,當前方法設置的結果數(shù)據(jù)將傳輸?shù)秸{用方。

參數(shù):

參數(shù)名稱參數(shù)說明
resultData指示在破壞能力切片之后返回的數(shù)據(jù)。您可以定義返回的數(shù)據(jù)。該值可以為空。

也可以看看:

presentForResult(AbilitySlice,Intent,int),onResult(int,Intent)

終止

公共最終無效終止()

摧毀當前能力切片。

當前能力切片調用此方法銷毀自身時,由 setResult(ohos.aafwk.content.Intent)設置的結果數(shù)據(jù)將返回給調用方。如果要銷毀的片是其宿主能力的唯一片,則該能力也將被摧毀。否則,該能力將不會受到影響。

啟動能力

public void startAbility(Intent intent)

開始一項新技能。

技能切片也可以使用此方法來啟動新技能。與 Ability#startAbility(Intent)方法的功能相似,系統(tǒng)會根據(jù)intent參數(shù)的值從已安裝的能力中定位目標能力,然后啟動它。

參數(shù):

參數(shù)名稱參數(shù)說明
Intent指示啟動的能力。

啟動能力

public void startAbility(Intent intent,AbilityOptions 選項)

從選項開始新技能。

技能切片也可以使用此方法來啟動新技能。與 Ability#startAbility(Intent,AbilityOptions)方法的功能相似,系統(tǒng)會根據(jù) intent 參數(shù)的值從已安裝的能力中定位目標能力,然后啟動它。

參數(shù):

參數(shù)名稱參數(shù)說明
intent指示啟動的能力。
選項能力選項轉移到其他能力。

開始結果的能力

public void startAbilityForResult(Intent intent,int requestCode)

啟動一個異能并在該異能被銷毀時返回執(zhí)行結果。

此方法提供的功能與 Ability#startAbilityForResult(Intent,int)方法相同。

參數(shù):

參數(shù)名稱參數(shù)說明
Intent指示啟動的能力。
請求代碼指示功能啟動后返回的請求代碼。您可以定義請求代碼以標識能力返回的結果。取值范圍是 0?65535。

也可以看看:

onAbilityResult(int,int,Intent)

停止能力

public final boolean stopAbility(Intent intent)throws IllegalArgumentException,IllegalStateException

破壞使用服務模板的能力。

此方法提供的功能與 Ability#stopAbility(Intent)方法相同。

指定者:

接口ContextstopAbility

覆寫:

stopAbility 類 AbilityContext

參數(shù):

參數(shù)名稱參數(shù)說明
Intent表示使用服務模板的能力。

返回值:

如果成功銷毀了使用服務模板的能力,則返回 true;否則,返回 true。否則返回 false。

Throws:

Throws名稱Throws說明
IllegalArgumentException如果輸入?yún)?shù)為 null,則Throws此異常。
IllegalStateException如果功能未初始化,則Throws此異常。

也可以看看:

Context.stopAbility(Intent)

終止能力

公共無效 terminateAbility()

破壞主機能力。

此方法提供的功能與 Ability#terminateAbility()方法相同。

指定者:

接口 Context中的 terminateAbility

覆寫:

terminateAbility 類 AbilityContext

也可以看看:

Context.terminateAbility()

連接能力

public final boolean connectAbility(Intent intent,IAbilityConnection conn)throws IllegalArgumentException,IllegalStateException

將主持人能力與使用服務模板的能力聯(lián)系起來。

此方法提供的功能與 Ability#connectAbility(Intent,IAbilityConnection)方法相同。

指定者:

接口Context connectAbility

覆寫:

類 AbilityContext 中的connectAbility

參數(shù):

參數(shù)名稱參數(shù)說明
Intent表示使用服務模板的能力。
康恩指示連接能力切片時轉移的回調對象。

返回值:

如果連接成功,則返回 true;否則,返回 false。否則返回 false。

Throws:

Throws名稱Throws說明
IllegalStateException如果能力或能力切片未初始化,則Throws此異常。
IllegalArgumentException如果輸入?yún)?shù)為 null,則Throws此異常。

也可以看看:

Context.connectAbility(Intent,IAbilityConnection)

斷開能力

public final void disconnectAbility(IAbilityConnection conn)throws IllegalArgumentException,IllegalStateException

將主機功能與使用服務模板的功能斷開連接。

此方法提供的功能與 Ability#disconnectAbility(IAbilityConnection)方法相同。

指定者:

接口ContextdisconnectAbility

覆寫:

disconnectAbility 類 AbilityContext

參數(shù):

參數(shù)名稱參數(shù)說明
康恩指示連接能力切片時轉移的回調對象。

Throws:

Throws名稱Throws說明
IllegalStateException如果能力或能力切片未初始化,則Throws此異常。
IllegalArgumentException如果輸入?yún)?shù)為 null,則Throws此異常。

也可以看看:

Context.disconnectAbility(IAbilityConnection)

繼續(xù)能力

public final boolean connectAbility?(Intent intent, IAbilityConnection conn) throws IllegalArgumentException, IllegalStateException

Connects the host ability to an ability that uses the Service template.

將主機功能遷移到同一分布式網(wǎng)絡上的另一臺設備。

此方法提供的功能與 Ability#continueAbility()方法相同。

Throws:

Throws名稱Throws說明
IllegalStateException如果主機能力未初始化或處于不允許此操作的狀態(tài)(例如正在遷移),則Throws此異常。
UnsupportedOperationException如果主持人功能未實現(xiàn) IAbilityContinuation 接口,則Throws此異常。

繼續(xù)能力

公共無效的 continuAbility (string deviceId)Throws IllegalStateException,UnsupportedOperationException

將主機功能遷移到同一分布式網(wǎng)絡上的給定設備。

此方法提供的功能與 Ability#continueAbility(String)方法相同。

參數(shù):

參數(shù)名稱參數(shù)說明
設備編號指示主機功能將遷移到的目標設備的 ID。如果此參數(shù)為 null,則此方法與 continueAbility()具有相同的效果。

Throws:

Throws名稱Throws說明
IllegalStateException如果主機能力未初始化或處于不允許此操作的狀態(tài)(例如正在遷移),則Throws此異常。
UnsupportedOperationException如果主持人功能未實現(xiàn) IAbilityContinuation 接口,則Throws此異常。

連續(xù)能力可逆

公共無效的 continueAbilityReversible()Throws IllegalStateException,UnsupportedOperationException

以可逆的方式將主機功能遷移到同一分布式網(wǎng)絡上的另一臺設備,該功能允許將該功能通過 reverseContinueAbility()遷移回本地設備 。

此方法提供的功能與 Ability#continueAbilityReversible() 方法相同。

Throws:

Throws名稱Throws說明
IllegalStateException如果主機能力未初始化或處于不允許此操作的狀態(tài)(例如正在遷移),則Throws此異常。
UnsupportedOperationException如果主持人功能未實現(xiàn) IAbilityContinuation 接口,則Throws此異常。

連續(xù)能力可逆

public void continueAbility (String deviceId) throws IllegalStateException,UnsupportedOperationException

以可逆的方式將主機功能遷移到同一分布式網(wǎng)絡上的另一臺設備,該功能允許將該功能通過reverseContinueAbility()遷移回本地設備 。

此方法提供的功能與 Ability#continueAbilityReversible(String)方法相同。

參數(shù):

參數(shù)名稱參數(shù)說明
設備編號指示主機功能將遷移到的目標設備的ID。如果此參數(shù)為null,則此方法與 continueAbilityReversible()具有相同的效果。

Throws:

Throws名稱Throws說明
IllegalStateException如果主機能力未初始化或處于不允許此操作的狀態(tài)(例如正在遷移),則Throws此異常。
UnsupportedOperationException如果主持人功能未實現(xiàn) IAbilityContinuation 接口,則Throws此異常。

反向連續(xù)能力

public boolean reverseContinueAbility()throws IllegalStateException,UnsupportedOperationException

將主機功能從同一分布式網(wǎng)絡上的另一臺設備遷移回本地設備。

此方法提供的功能與 Ability#reverseContinueAbility() 方法相同。

返回值:

如果遷移請求成功,則返回 true;否則,返回 true。否則返回 false。

Throws:

Throws名稱Throws說明
IllegalStateException如果宿主功能未涉及可逆遷移過程,或者處于不允許此操作的狀態(tài)(例如正在將其遷移回),則Throws此異常。
UnsupportedOperationException如果主持人功能未實現(xiàn) IAbilityContinuation 接口,則Throws此異常。

獲取延續(xù)狀態(tài)

public final ContinuationState getContinuationState() throws UnsupportedOperationException

獲得宿主能力的遷移狀態(tài)。

此方法提供的功能與 Ability#getContinuationState()方法相同。

返回值:

返回遷移狀態(tài)。

Throws:

Throws名稱Throws說明
UnsupportedOperationException如果主持人功能未實現(xiàn) IAbilityContinuation 接口,則Throws此異常。

獲取原始 DeviceId

公共最終string getOriginalDeviceId()Throws UnsupportedOperationException

獲取從其遷移主機功能的源設備的 ID。

此方法提供的功能與 Ability#getOriginalDeviceId()方法相同。

返回值:

返回源設備 ID。

Throws:

Throws名稱Throws說明
UnsupportedOperationException如果主持人功能未實現(xiàn) IAbilityContinuation 接口,則Throws此異常。

設置顯示方向

public void setDisplayOrientation(AbilityInfo.DisplayOrientation requestedOrientation)

設置主持人能力的顯示方向。

After you change the display orientation using this method, the system calls back the onOrientationChanged(ohos.bundle.AbilityInfo.DisplayOrientation) method. If requestedOrientation is set to DisplayOrientation#UNSPECIFIED, the display orientation of the ability depends on the system setting.

如果某個能力處于前臺,該設置將立即生效。否則,該設置將在該異能返回到前景時生效。

指定者:

接口 Context中的setDisplayOrientation

覆寫:

類 AbilityContext中的setDisplayOrientation

參數(shù):

參數(shù)名稱參數(shù)說明
請求的方向指示顯示方向,可以是“ jpg”,“ LANDSCAPE”,“ PORTRAIT”或“ FOLLOWRECENT”。

也可以看看:

Context.setDisplayOrientation(AbilityInfo.DisplayOrientation)

獲取能力形式異步

public boolean acquisitionAbilityFormAsync(Intent intent,AbilityForm.OnAcquiredCallback createdCallback)

請求目標能力提供的 AbilityForm 實例。

此方法異步執(zhí)行。獲取 AbilityForm 實例后,系統(tǒng)將回調 OnAcquiredCallback 方法。如果目標功能不使用 Page 模板或不提供 AbilityForm 功能,則不會通知呼叫者。

要使用此方法,您的應用程序必須具有 ohos.permission.REQUIRE_FORM 權限。該權限僅適用于系統(tǒng)應用程序。如果呼叫者沒有權限,則返回 false。

參數(shù):

參數(shù)名稱參數(shù)說明
intent指示目標能力。
earnedCallback指示異步獲取 AbilityForm 實例后的通知回調。

返回值:

如果請求發(fā)送成功,則返回 true;否則,返回 false。否則返回 false。

釋放能力表

公共無效發(fā)布 AbilityForm(AbilityForm 能力表單)

釋放主機能力的指定 AbilityForm 實例。

參數(shù):

參數(shù)名稱參數(shù)說明
能力表指示要釋放的 AbilityForm 實例。

獲取生命周期

public final Lifecycle getLifecycle()

獲取當前能力切片的 Lifecycle對象。

指定者:

getLifecycle 接口 ILifecycle

返回值:

返回Lifecycle對象。

獲得能力

public final Ability getAbility()

獲得該切片所屬的能力。

返回值:

歸還能力。


文章名稱:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OS Ability AbilitySlice
網(wǎng)站鏈接:http://m.5511xx.com/article/dpsghio.html