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

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

新聞中心

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

Ability是 HarmonyOS 應(yīng)用程序可以提供的功能的抽象。HarmonyOS 應(yīng)用程序的Ability分為兩種類型:特征Ability和粒子Ability。特征Ability代表具有 UI 的功能,并旨在與用戶進行交互。粒子Ability表示沒有 UI 的Ability,并且主要用于提供對 FA 的支持,例如,提供計算功能作為后臺服務(wù)或提供數(shù)據(jù)訪問功能作為數(shù)據(jù)存儲庫。兩種功能為您提供了不同的模板,以供您實現(xiàn)不同的功能。當(dāng)前,HarmonyOS 提供以下類型的Ability模板:

成都創(chuàng)新互聯(lián)從2013年成立,先為金堂縣等服務(wù)建站,金堂縣等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為金堂縣企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

注意:在下面的描述中,頁面,服務(wù)或數(shù)據(jù)功能表示使用相應(yīng)模板的功能,而單獨的功能表示使用任何類型的模板的功能。

  • 頁面:顯示 UI 的功能。UI 通過 AbilitySlice 呈現(xiàn)。您必須重寫 onStart(ohos.aafwk.content.Intent)方法,并使用 setMainRoute(java.lang.String) 和addActionRoute(java.lang.String,java.lang.String)方法來配置 Page 功能的條目。
  • 服務(wù):一種在后臺運行且沒有 UI 的功能。它用于開發(fā)始終在后臺運行或與其他功能連接的服務(wù)。當(dāng)服務(wù)Ability與其他Ability連接時,將返回一個遠程對象,您可以使用該遠程對象來調(diào)用該服務(wù)Ability提供的功能。
  • 數(shù)據(jù):一種用于操作數(shù)據(jù)且沒有 UI 的功能。它提供了用于插入,刪除,更新和查詢數(shù)據(jù)以及打開文件的方法。您必須實現(xiàn)這些方法。

Ability簡介

每個應(yīng)用程序都有一個配置文件:config.json。該文件存儲在Java代碼的根目錄中。

  ├── entry
  │   ├── libs
  │   ├── src
  │   │   ├── main
  │   │   │   ├── java
  │   │   │   │   └── com
  │   │   │   │       └── example
  │   │   │   │           └── myapplication
  │   │   │   │               ├── slice
  │   │   │   │               │   └── PageAbilitySlice.java
  │   │   │   │               └── PageAbility.java
  │   │   │   ├── resources
  │   │   │   │     ├── base
  │   │   │   │     │   ├── element
  │   │   │   │     │   │   └── string.json
  │   │   │   │     │   └── media
  │   │   │   │     │       └── icon.png
  │   │   │   │     └── rawfile
  │   │   │   └── config.json

  

應(yīng)用程序文件結(jié)構(gòu)的說明如下:

該條目存儲應(yīng)用程序的代碼,資源文件和配置文件。文件夾名稱是可編輯的。

entry / libs存儲第三方庫文件。創(chuàng)建項目時,IDE 將自動生成此目錄。

entry / src / main / java用于代碼開發(fā)。您可以根據(jù)需要在此目錄中更改文件名。創(chuàng)建項目時,IDE 將自動生成此目錄。

entry / src / main / resources / base / media為您的應(yīng)用程序存儲 PNG 和 JPG 圖像文件。創(chuàng)建項目時,IDE 將自動生成此目錄。

entry / src / main / resources / base / element存儲用于讀取文本資源的資源文件。創(chuàng)建項目時,IDE 將自動生成此目錄。

入口/ src 目錄/主/ config.json文件位于根目錄。該文件包含有關(guān)應(yīng)用程序的配置信息。系統(tǒng)運行該應(yīng)用程序,并基于此文件的內(nèi)容在 UI 上顯示內(nèi)容。創(chuàng)建項目時,IDE 將自動生成此文件。

要開發(fā)新Ability,您必須在config.json文件中注冊該Ability。示例代碼:

 {
     "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",
               ...
           }
         ]
         ...
     }
 }

 

注意:應(yīng)用程序的所有功能都必須在此文件中注冊,并附加到功能標(biāo)簽上。

  • 類型標(biāo)簽指示Ability使用的模板的類型,其值頁面,服務(wù)或提供者分別指示頁面,服務(wù)或數(shù)據(jù)模板。必須指定類型標(biāo)簽。
  • 名稱標(biāo)簽表示Ability的名稱,必須指定。
  • 您可以保留其他標(biāo)簽的默認值。

Ability生命周期

作為應(yīng)用程序的基本單元,功能具有以下四個生命周期狀態(tài):

  • 初始:能已加載到內(nèi)存中但未運行。這是所有Ability的初始狀態(tài)。
  • 不活躍:該功能已加載并執(zhí)行,但不是交互式的。通常,在Ability更改為ACTIVEBackground之前處于中間狀態(tài)。在這種狀態(tài)下,UI 可能可見,但無法接收輸入事件。
  • 活動:該功能可見且具有交互性。認為該Ability具有焦點。
  • 背景:這種Ability是看不見的。如果系統(tǒng)內(nèi)存不足,則會首先破壞此狀態(tài)下的功能。

下圖顯示了完整的Ability生命周期。每個狀態(tài)轉(zhuǎn)換都會執(zhí)行一個特定的回調(diào)。您可以覆蓋回調(diào)方法。

注意:所有頁面功能都必須實現(xiàn) onStart(ohos.aafwk.content.Intent) 來設(shè)置其 UI。要覆蓋生命周期回調(diào)方法,必須首先調(diào)用與父類相對應(yīng)的回調(diào)方法,例如 super.onStart()。狀態(tài)轉(zhuǎn)換在主線程上實現(xiàn)。因此,建議您在生命周期回調(diào)中執(zhí)行簡短邏輯,以防止該功能的主線程被阻塞。

以下是該功能的所有生命周期回調(diào)方法:

 public class MainAbility extends Ability {
      protected void onStart(Intent intent);

 
      protected void onActive();

 
      protected void onInactive();

 
      protected void onForeground(Intent intent);

 
      protected void onBackground();

 
      protected void onStop();
  }

有關(guān)生命周期回調(diào)的詳細信息,請參見 AbilitySlice。

起始Ability

這個起動性(ohos.aafwk.content.Intent)方法用于啟動一個新的Ability,其被放置在Ability堆棧的頂部。它使用參數(shù)Intent來描述Ability。以下代碼顯示了如何啟動異能:

         Button button = new Button(this);
         button.setClickedListener(listener -> {
             Operation operation = new Intent.OperationBuilder()
                     .withDeviceId("")
                     .withBundleName("com.huawei.hiworld")
                     .withAbilityName("com.huawei.hiworld.MainAbility")
                     .build();

 
             Intent intent = new Intent();
             intent.setOperation(operation);
             intent.setParam("age", 10);

 
             startAbility(intent);
         });

 

連接Ability

這個連接性(ohos.aafwk.content.Intent,ohos.aafwk.ability.IAbilityConnection)方法用于連接到服務(wù)的Ability。它具有兩個參數(shù):Intent 和 IAbilityConnection。Intent 提供有關(guān)目標(biāo)服務(wù)連接Ability的信息,IAbilityConnection 是一個回調(diào)對象,用于通知您連接結(jié)果(成功或失?。?。

與connectAbility(ohos.aafwk.content.Intent,ohos.aafwk.ability.IAbilityConnection)相比,disconnectAbility(ohos.aafwk.ability.IAbilityConnection)方法用于與已連接的服務(wù)Ability斷開連接。

對于服務(wù)功能,您可以重寫 onConnect(ohos.aafwk.content.Intent)方法以提供一個RemoteObject進行調(diào)用。默認情況下,返回null。

     protected IRemoteObject onConnect(Intent intent) {
         return null;
     }

 

嵌套類摘要

修飾符和類型 描述
靜態(tài)類 Ability.LayoutParamsHelper 幫助您使用 Intent 設(shè)置應(yīng)用程序啟動Window的布局參數(shù)。
靜態(tài)類 Ability.WindowAttributeHelper 幫助您使用 Intent 設(shè)置當(dāng)前應(yīng)用程序的Window屬性。

領(lǐng)域摘要

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

構(gòu)造器摘要

建設(shè)者 描述
Ability()

方法總結(jié)

修飾符和類型 方法 描述
void addActionRoute(String操作,String輸入) 將動作綁定到 AbilitySlice。
整型 batchInsert(Uri uri,ValuesBucket []值) 將多個數(shù)據(jù)記錄插入數(shù)據(jù)庫。
PacMap 調(diào)用(String方法,String arg,PacMap  附加功能) 在此數(shù)據(jù)功能中定義一個方法(實現(xiàn)取決于子類)。
void cancelBackgroundRunning() 取消此功能的后臺運行以釋放系統(tǒng)內(nèi)存。
布爾值 connectAbility(Intent intent,IAbilityConnection conn) 將Ability連接到服務(wù)Ability。
void continueAbility() 將此功能遷移到同一分布式網(wǎng)絡(luò)上的另一臺設(shè)備。
void continueAbility(String deviceId) 將此功能遷移到同一分布式網(wǎng)絡(luò)上的給定設(shè)備。
void continueAbilityReversible() 以可逆的方式將此功能遷移到同一分布式網(wǎng)絡(luò)上的另一臺設(shè)備,該功能允許將該功能通過reverseContinueAbility()遷移回本地設(shè)備。
void continueAbilityReversible(String deviceId) 以可逆的方式將此功能遷移到同一分布式網(wǎng)絡(luò)上的給定設(shè)備,該功能允許將該功能通過 reverseContinueAbility()遷移回本地設(shè)備。
整型 刪除(Uri uri,DataAbilityPredicates  謂詞) 刪除一個或多個數(shù)據(jù)記錄。
Uri denormalizeUri(Uri uri) 將 normalizeUri(ohos.utils.net.Uri)生成的給定歸一化 uri 轉(zhuǎn)換為非歸一化的 uri 。
void 斷開連接Ability(IAbilityConnection conn) 與 connectAbility(ohos.aafwk.content.Intent,ohos.aafwk.ability.IAbilityConnection)  相比,斷開服務(wù)Ability與服務(wù)Ability的連接。
void dispatchAccessibilityEventInfo(AccessibilityEventInfo 信息) 在此功能的組件上發(fā)生可訪問性事件時調(diào)用。
DataAbilityResult [] executeBatch (ArrayList < DataAbilityOperation >操作) 在數(shù)據(jù)庫上執(zhí)行批處理操作。
Component findComponentById(int resID) 根據(jù)資源 ID 在 XML 文件中查找組件。
AbilityPackage getAbilityPackage(AbilityInfo skillInfo) 獲取此功能所屬的單例 AbilityPackage  對象。
Object getAVController() 獲得Ability的Window媒體控制器。
ContinuationState getContinuationState() 獲得此功能的遷移狀態(tài)。
Component getCurrentFocus() 獲取當(dāng)前具有Window焦點的組件。
Transition getEnterTransition() 獲取Ability輸入過渡類型。
String [] getFileTypes(Uri uri,String mimeTypeFilter) 獲取文件的 MIME 類型。
Intent  getIntent() 獲取啟動此功能的 Intent 對象。
WindowManager.LayoutConfig getLayoutParams() 獲取Ability的Window布局參數(shù)。
Lifecycle getLifecycle() 獲取當(dāng)前Ability的Lifecycle對象。
String getOriginalDeviceId() 獲取從中遷移此功能的源設(shè)備的 ID。
Transition getReturnTransition() 獲取Ability返回過渡類型。
ComponentContainer getRootUIContent() 獲取技能或頂級技能切片 ui 內(nèi)容的根組件。
String getType(Uri uri) 獲取與“數(shù)據(jù)”功能的 URI 指定的數(shù)據(jù)匹配的 MIME 類型。
Window getWindow() 獲取與當(dāng)前Ability對應(yīng)的Window。
布爾值 hasWindowFocus() 檢查此功能的主Window是否具有Window焦點。
整型 insert(Uri uri,ValuesBucket值) 將數(shù)據(jù)記錄插入數(shù)據(jù)庫。
布爾值 isTerminate() 檢查當(dāng)前Ability是否被破壞。
void keepBackgroundRunning(int id,NotificationRequest notificationRequest) 在后臺保留此服務(wù)功能并顯示通知欄。
Uri normalizeUri(Uri uri) 通過支持此數(shù)據(jù)功能對 Uri 進行規(guī)范化將引用數(shù)據(jù)功能的給定 uri 轉(zhuǎn)換為規(guī)范化 URI。
protected void onAbilityResult(int requestCode,int resultCode,Intent resultData) 在調(diào)用 startAbilityForResult(ohos.aafwk.content.Intent,int)以啟動功能并返回結(jié)果時調(diào)用。
protected void onActive() 回叫時的Ability進入 ACTIVE 狀態(tài)。
protected void onBackground() 技能進入背景狀態(tài)時回調(diào)。
protected void onBackPressed() 當(dāng)按下返回鍵時回叫。
protected void onCommand(Intent intent,boolean restart) 不推薦使用。
protected void onCommand(Intent intent,boolean restart,int startId) 服務(wù)啟動時回叫。
void onConfigurationUpdated(Configuration配置) 在系統(tǒng)配置更新時調(diào)用。
protected IRemoteObject 為onConnect(Intent intent ) 當(dāng)服務(wù)Ability首次與該Ability相關(guān)聯(lián)時回調(diào)。
protectedAbilityForm onCreateForm() 調(diào)用以返回 AbilityForm 對象。
protected void onDisconnect(Intent intent ) 當(dāng)與服務(wù)Ability相關(guān)的所有Ability都斷開連接時回調(diào)。
void onEventDispatch() 每次為此功能調(diào)度按鍵,觸摸或軌跡球事件時調(diào)用。
protected void onForeground(Intent intent ) 當(dāng)技能的狀態(tài)從背景變?yōu)椴?strong>活躍時回調(diào)。
protected void onInactive() 當(dāng)某個能進入 INACTIVE 狀態(tài)時被回調(diào)(此狀態(tài)下的能不是交互式的,可能會變?yōu)?strong>Background 或 ACTIVE 狀態(tài))。
布爾值 onKeyDown(int keyCode,KeyEvent keyEvent) 按下鍵時調(diào)用。
布爾值 onKeyUp(int keyCode,KeyEvent keyEvent) 釋放鍵時調(diào)用。
void onLeaveForeground() 當(dāng)此功能由于用戶操作(例如,用戶觸摸 Home 鍵)而即將離開前臺并進入背景時調(diào)用。
void onMemoryLevel(int級別) 在系統(tǒng)確定修整內(nèi)存時調(diào)用,例如,當(dāng)該功能在后臺運行并且沒有足夠的內(nèi)存來運行盡可能多的后臺進程時調(diào)用。
CharSequence onNewDescription() 在此功能之前調(diào)用的是為該功能生成新描述的背景。
protected void onNewIntent(Intent Intent) 在功能的啟動模式設(shè)置為 singleInstance 時調(diào)用。
protected void onOrientationChanged(AbilityInfo.DisplayOrientation displayOrientation) 當(dāng)屏幕的顯示方向改變時回調(diào)。
protected void onPostActive() 在調(diào)用 onActive()之后完全激活該功能時調(diào)用。
protected void onPostStart(PacMap pacMap) 通過調(diào)用 onStart(ohos.aafwk.content.Intent)和onRestoreAbilityState(ohos.utils.PacMap)啟動功能時調(diào)用。
void onReconnect(Intent Intent) 當(dāng)新的客戶端之前與之?dāng)嚅_所有連接后,新客戶端嘗試連接至服務(wù)Ability時調(diào)用。
void onRequestPermissionsFromUserResult(int requestCode,String []權(quán)限,int [] grantResults) 使用AbilityContext.requestPermissionsFromUser(java.lang.String [],int)請求權(quán)限后回調(diào)。
void onRestoreAbilityState(PacMap inState) 由系統(tǒng)恢復(fù)Ability的數(shù)據(jù)和狀態(tài)。
void onSaveAbilityState(PacMap outState) 保存此功能的臨時數(shù)據(jù)和狀態(tài)。
protected void 在onStart(Intent Intent) 在一項功能開始初始化時回調(diào)(在該功能的整個生命周期中只能調(diào)用一次)。
protected void onStop() 在消滅異能之前回叫。
protected boolean onTouchEvent(TouchEvent事件) 在將觸摸事件調(diào)度到此功能時調(diào)用。
void onWindowFocusChanged(boolean hasFocus) 當(dāng)此Ability獲得或失去Window焦點時調(diào)用。
FileDescriptor openFile(Uri uri,String模式) 打開一個文件。
RawFileDescriptor openRawFile(Uri uri,String模式) 打開一個原始文件。
ResultSet 查詢(Uri uri,String DataAbilityPredicates謂詞) 查詢數(shù)據(jù)庫中的一個或多個數(shù)據(jù)記錄。
布爾值 reverseContinueAbility() 將此功能從同一分布式網(wǎng)絡(luò)上的另一臺設(shè)備遷移回本地設(shè)備。
void setAbilitySliceAnimator(AbilitySliceAnimator skillSliceAnimator) 在當(dāng)前Ability的 AbilitySlice 實例之間設(shè)置過渡動畫。
void setAVController(Object控制器) 設(shè)置Ability的Window媒體控制器。包含Window媒體信息的媒體控制器。
void setEnterTransition(Transition過渡) 設(shè)置Ability輸入過渡類型。
void setIntent(Intent Intent) 設(shè)置可以通過調(diào)用 getIntent() 獲得的 Intent 對象。
void setIsAmbientMode(boolean isEnabled) 設(shè)置Window的輸入 AOD 模式
void setLayoutParams(WindowManager.LayoutConfig參數(shù)) 設(shè)置功能的Window布局參數(shù)。
void setMainRoute(String入口) 設(shè)置此功能的主要路線。
void setResult(int resultCode,Intent resultData) 設(shè)置此 Page 功能返回給調(diào)用方的結(jié)果代碼和數(shù)據(jù)。
void setReturnTransition(Transition過渡) 設(shè)置Ability返回過渡類型。
布爾值 setSwipeToDismiss(boolean isEnabled) 設(shè)置一個Window及其功能是否在滑動時完成。
void setUIContent(int layoutRes) 通過使用布局資源 ID 來擴大布局資源。
void setUIContent(ComponentContainer componentContainer) 通過使用ComponentContainer來膨脹 UI 控件。
void setWindowBackgroundColor(int紅色,int綠色,int藍色) 在RGB顏色模式下設(shè)置Window的背景色。
void startAbility(IntentIntent) 開始一項新技能。
void startAbility(Intent intent,AbilityOptions選項) 從選項開始新技能。
void startAbilityForResult(Intent intent,int requestCode) 啟動一個異能并在該異能被銷毀時返回執(zhí)行結(jié)果。
布爾值 stopAbility(IntentIntent) 摧毀另一種服務(wù)Ability。
void 終止Ability() 破壞此頁面或服務(wù)功能。
整型 更新(Uri uri,ValuesBucket值,DataAbilityPredicates謂詞) 更新數(shù)據(jù)庫中的一個或多個數(shù)據(jù)記錄。
從類 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,重啟,setDisplayOrientation,setPattern,setShowOnLockScreen,setTheme,setTransitionAnimation,setWakeUpScreen,startAbilities,起動性能,switchToCredentialEncryptedStorageContext,switchToDeviceEncryptedStorageContext,terminateAbility,terminateAbilityResult,verifyCallingOrSelfPermission,verifyCallingPermission,verifyPermission,verifySelfPermission
從類 java.lang 繼承的方法。Object
clone,equals,finalize,getClass,hashCode,notify,notifyAll,toString,wait,wait,wait

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

Ability

公眾Ability

方法細節(jié)

獲得AbilityPackage

公共 AbilityPackage getAbilityPackage((AbilityInfo skillInfo)

獲取此功能所屬的單例 AbilityPackage 對象。

返回值:

返回此Ability所屬的單例 AbilityPackage 對象。

獲取窗口

公共Window getWindow()

獲取與當(dāng)前Ability對應(yīng)的Window。

您可以使用 Window 實例來控制Window的屬性,例如Window大小,位置和填充。

返回值:

返回與當(dāng)前Ability相對應(yīng)的Window。

設(shè)置UI內(nèi)容

公共最終無效 setUIContent(int layoutRes)

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

參數(shù):

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

也可以看看:

setUIContent(ComponentContainer)

設(shè)置UI內(nèi)容

公共無效 setUIContent((ComponentContainer componentContainer)

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

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

參數(shù):

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

也可以看看:

setUIContent(int)

設(shè)置前級處理器

public void setAVController(Object控制器)

設(shè)置Ability的Window媒體控制器。包含Window媒體信息的媒體控制器。

參數(shù):

參數(shù)名稱 參數(shù)說明
控制者 指示包含Window媒體信息的對象。此參數(shù)不能為空。

獲取AV控制器

公共Object getAVController()

獲得Ability的Window媒體控制器。包含Window的媒體信息的媒體控制器。

返回值:

返回包含Window媒體信息的對象;如果未設(shè)置媒體控制器,則返回 null。

獲取布局參數(shù)

public WindowManager.LayoutConfig getLayoutParams()

獲取Ability的Window布局參數(shù)。必須為所有功能的Window設(shè)置布局參數(shù)。為父Window提供了這些參數(shù),以指定如何布置當(dāng)前功能的Window。

您可以使用布局參數(shù)來控制功能的Window屬性,例如位置,長度和寬度。

返回值:

返回Ability的Window布局參數(shù);如果未設(shè)置布局參數(shù),則返回 null。

設(shè)置布局參數(shù)

公共無效 setLayoutParams(WindowManager.LayoutConfig 參數(shù))

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

您可以使用布局參數(shù)來控制功能的Window屬性,例如位置,長度和寬度。

參數(shù):

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

查找組件ById

公共Component findComponentById(int resID)

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

參數(shù):

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

返回值:

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

設(shè)置環(huán)境模式

公共無效 setIsAmbientMode(布爾 isEnabled)

設(shè)置Window的輸入 AOD 模式

參數(shù):

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

按下按鍵

公共布爾 onKeyDown(int keyCode,KeyEvent keyEvent)

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

參數(shù):

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

返回值:

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

也可以看看:

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

在關(guān)鍵

布爾布爾 onKeyUp(int keyCode,KeyEvent keyEvent)

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

參數(shù):

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

返回值:

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

也可以看看:

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

onBackPressed

受保護的void onBackPressed()

當(dāng)按下返回鍵時回叫。

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

連接Ability

public boolean connectAbility(Intent intent,IAbilityConnection conn)

將Ability連接到服務(wù)Ability。

Page 或 Service 功能可以調(diào)用此方法,但是連接的目的地必須是 Service 功能。連接服務(wù)功能后,必須實現(xiàn)IAbilityConnection 接口才能獲取目標(biāo)服務(wù)功能的代理。

調(diào)用Context必須已啟動并且尚未銷毀。否則,此方法返回 false。例如,當(dāng) AbilityForm 供應(yīng)商在組件單擊或觸摸事件觸發(fā)的回調(diào)中調(diào)用此方法時,可能會返回 false,因為供應(yīng)商可能未啟動。

指定者:

接口ContextconnectAbility

覆寫:

類AbilityContext中的connectAbility

參數(shù):

參數(shù)名稱 參數(shù)說明
Intent 指示服務(wù)連接Ability。
conn 指示連接服務(wù)功能時的回調(diào)對象。

返回值:

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

throw:

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

也可以看看:

Context.connectAbility(Intent,IAbilityConnection)

斷開Ability

公共無效的 disconnectAbility((IAbilityConnection conn)

與 connectAbility(ohos.aafwk.content.Intent,ohos.aafwk.ability.IAbilityConnection)相比,斷開服務(wù)Ability與服務(wù)Ability的連接 。

指定者:

接口ContextdisconnectAbility

覆寫:

disconnectAbility 類 AbilityContext

參數(shù):

參數(shù)名稱 參數(shù)說明
conn 指示連接服務(wù)功能時的回調(diào)對象。

throw:

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

也可以看看:

Context.disconnectAbility(IAbilityConnection)

getLifecycle

公共最終 Lifecycle getLifecycle()

獲取當(dāng)前Ability的 Lifecycle 對象。

指定者:

getLifecycle 接口 ILifecycle

返回值:

返回Lifecycle對象。

也可以看看:

Lifecycle

public int insert((Uri uri,ValuesBucket value)

將數(shù)據(jù)記錄插入數(shù)據(jù)庫。此方法應(yīng)由數(shù)據(jù)Ability實現(xiàn)。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要插入數(shù)據(jù)的位置。
指示要插入的數(shù)據(jù)。

返回值:

返回新插入的數(shù)據(jù)記錄的索引。

批量插入

public final int batchInsert(Uri uri,ValuesBucket [] values)

將多個數(shù)據(jù)記錄插入數(shù)據(jù)庫。此方法應(yīng)由數(shù)據(jù)Ability實現(xiàn)。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要插入數(shù)據(jù)的位置。
價值觀 指示要插入的數(shù)據(jù)。

返回值:

返回插入的數(shù)據(jù)記錄數(shù)。

刪除

public int delete(Uri uri,DataAbilityPredicates predicates)

刪除一個或多個數(shù)據(jù)記錄。此方法應(yīng)由數(shù)據(jù)Ability實現(xiàn)。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示存儲要刪除數(shù)據(jù)的數(shù)據(jù)庫表。
謂詞 表示過濾條件。如果此參數(shù)為 null,則默認情況下將刪除所有數(shù)據(jù)記錄。

返回值:

返回已刪除的數(shù)據(jù)記錄數(shù)。

更新

public int 更新(Uri uri,ValuesBucket value,DataAbilityPredicates predicates)

更新數(shù)據(jù)庫中的一個或多個數(shù)據(jù)記錄。此方法應(yīng)由數(shù)據(jù)Ability實現(xiàn)。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示存儲要更新數(shù)據(jù)的數(shù)據(jù)庫表。
指示要更新的數(shù)據(jù)。此參數(shù)可以為空。
謂詞 表示過濾條件。如果此參數(shù)為null,則默認情況下將更新所有數(shù)據(jù)記錄。

返回值:

返回更新的數(shù)據(jù)記錄數(shù)。

詢問

公共ResultSet查詢(Uri uri,String [] columns,DataAbilityPredicates predicates)

查詢數(shù)據(jù)庫中的一個或多個數(shù)據(jù)記錄。此方法應(yīng)由數(shù)據(jù)Ability實現(xiàn)。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 表示存儲要查詢的數(shù)據(jù)的數(shù)據(jù)庫表。
指示要查詢的列,以數(shù)組形式,例如{“ name”,“ age”}。當(dāng)此參數(shù)為 null 時,您應(yīng)該定義處理邏輯。
謂詞 表示過濾條件。如果此參數(shù)為 null,則默認情況下將查詢所有數(shù)據(jù)記錄。

返回值:

返回查詢的數(shù)據(jù)。

執(zhí)行批處理

公共最終 DataAbilityResult [] executeBatch(ArrayList < DataAbilityOperation > operation)throws OperationExecuteException

在數(shù)據(jù)庫上執(zhí)行批處理操作。此方法應(yīng)由數(shù)據(jù)Ability實現(xiàn)。

要在數(shù)據(jù)庫上執(zhí)行的批處理操作封裝為 DataAbilityOperation 對象。每個對象對應(yīng)一個操作,例如,插入或刪除。每個操作的調(diào)用結(jié)果將保存到 DataAbilityResult 類型的數(shù)據(jù)數(shù)組并由其返回。

參數(shù):

參數(shù)名稱 參數(shù)說明
運作 指示數(shù)據(jù)操作列表,其中可以包含對數(shù)據(jù)庫的多項操作。

返回值:

以數(shù)組形式返回每個操作的結(jié)果。

throw:

throw名稱 throw說明
OperationExecuteException 如果批處理操作失敗,則throw此異常。

打開文件

public FileDescriptor openFile(Uri uri,String mode)throws FileNotFoundException

打開一個文件。此方法應(yīng)由數(shù)據(jù)Ability實現(xiàn)。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要打開的文件的路徑。
模式 指示打開模式,對于只讀訪問可以為“ r”,對于只讀訪問可以為“ w”(擦除文件中當(dāng)前存在的任何數(shù)據(jù)),對于截斷任何現(xiàn)有文件的寫訪問可以為“ wt”,“ wa” “”表示僅寫訪問權(quán)限以追加到任何現(xiàn)有數(shù)據(jù),“ rw”表示對任何現(xiàn)有數(shù)據(jù)的讀寫訪問,“ rwt”表示對截斷任何現(xiàn)有文件的讀寫訪問。

返回值:

返回文件描述符的 FileDescriptor 對象。

Thorw:

throw名稱 throw說明
FileNotFoundException 如果文件不存在,則throw此異常。

openRawFile

public RawFileDescriptor openRawFile(Uri uri,String模式)throw FileNotFoundException

打開一個原始文件。此方法應(yīng)由數(shù)據(jù)Ability實現(xiàn)。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要打開的原始文件的路徑。
模式 指示打開模式,對于只讀訪問可以為“ r”,對于只讀訪問可以為“ w”(擦除文件中當(dāng)前存在的任何數(shù)據(jù)),對于截斷任何現(xiàn)有文件的寫訪問可以為“ wt”,“ wa” “”表示僅寫訪問權(quán)限以追加到任何現(xiàn)有數(shù)據(jù),“ rw”表示對任何現(xiàn)有數(shù)據(jù)的讀寫訪問,“ rwt”表示對截斷任何現(xiàn)有文件的讀寫訪問。

返回值:

返回包含文件描述符的 RawFileDescriptor 對象。

throw:

throw名稱 throw說明
FileNotFoundException 如果原始文件不存在,則throw此異常。

getFileTypes

public String [] getFileTypes((Uri uri,String mimeTypeFilter)

獲取文件的 MIME 類型。此方法應(yīng)由數(shù)據(jù)Ability實現(xiàn)。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示要獲取的文件的路徑。
mimeTypeFilter 指示要獲取的文件的 MIME 類型。此參數(shù)不能設(shè)置為 null。1.“  / ”:獲得數(shù)據(jù)Ability支持的所有類型。2.“ image / ”:獲取主要類型為任何子類型的圖像的文件。3.“  / jpg”:獲取其子類型為任何主要類型的 JPG 的文件。

返回值:

返回匹配文件的 MIME 類型;如果沒有與數(shù)據(jù)Ability匹配的類型,則返回 null。

呼叫

公共 PacMap 調(diào)用(String方法,String arg,PacMap 附加功能)

在此數(shù)據(jù)功能中定義一個方法(實現(xiàn)取決于子類)。

參數(shù):

參數(shù)名稱 參數(shù)說明
方法 指示方法名稱。
arg 指示方法傳輸?shù)?nbsp;String 參數(shù)。
extras 表示該方法傳輸?shù)?nbsp;PacMap 參數(shù)。

返回值:

返回方法的 PacMap 結(jié)果。

獲取類型

公共String getType((Uri uri)

獲取與“數(shù)據(jù)”功能的 URI 指定的數(shù)據(jù)匹配的 MIME 類型。此方法應(yīng)由數(shù)據(jù)Ability實現(xiàn)。

數(shù)據(jù)功能支持常規(guī)數(shù)據(jù)類型,包括文本,HTML 和 JPEG。

參數(shù):

參數(shù)名稱 參數(shù)說明
uri 指示數(shù)據(jù)的URI。

返回值:

返回與 uri 指定的數(shù)據(jù)匹配的 MIME 類型。

onStart

受保護的 void onStart(Intent intent)

在一項功能開始初始化時回調(diào)(在該功能的整個生命周期中只能調(diào)用一次)。

大多數(shù)初始化操作應(yīng)通過調(diào)用此方法來執(zhí)行。例如,您可以使用當(dāng)前方法調(diào)用setMainRoute(java.lang.String)和addActionRoute(java.lang.String,java.lang.String)來為 Page 功能設(shè)置主路由器和動作路由器。

參數(shù):

參數(shù)名稱 參數(shù)說明
Intent 表示啟動此功能時攜帶的信息。注意:對于服務(wù)技能,將傳遞 null。

onPostStart

受保護的 void onPostStart(PacMap pacMap)

通過調(diào)用 onStart(ohos.aafwk.content.Intent)和 onRestoreAbilityState(ohos.utils.PacMap)啟動功能時調(diào)用 。

通常,此方法用于系統(tǒng)類在應(yīng)用程序啟動后執(zhí)行最終的初始化操作。您不需要為您的應(yīng)用程序?qū)崿F(xiàn)此方法。重寫此方法時,必須調(diào)用其父類的實現(xiàn)。否則,將引發(fā)異常。

參數(shù):

參數(shù)名稱 參數(shù)說明
pacMap 指示 onSaveAbilityState(ohos.utils.PacMap)中最近提供的數(shù)據(jù)。

onStop

受保護的 void onStop()

在消滅異能之前回叫。

此方法指示Ability生命周期的結(jié)束??梢栽诠δ苷{(diào)用 terminateAbility()方法或該功能的最后一個功能片調(diào)用 AbilitySlice#terminate() 方法之后執(zhí)行。通常,此方法用于清除資源。

onActive

受保護的 void onActive()

回叫時的Ability進入ACTIVE狀態(tài)。

在AbilityACTIVE狀態(tài)是在前臺和是交互式的。

onPostActive

受保護的 void onPostActive()

在調(diào)用 onActive()之后完全激活該功能時調(diào)用 。

通常,此方法用于系統(tǒng)類,以在激活應(yīng)用程序后執(zhí)行最終設(shè)置。您不需要為您的應(yīng)用程序?qū)崿F(xiàn)此方法。重寫此方法時,必須調(diào)用其父類的實現(xiàn)。否則,將引發(fā)異常。

不活動時

受保護的 void onInactive()

當(dāng)某個能進入INACTIVE狀態(tài)時被回調(diào)(此狀態(tài)下的能不是交互式的,可能會變?yōu)?strong>Background或ACTIVE狀態(tài))。

不活動是一種中間狀態(tài),不會持續(xù)很長時間。之間頻繁切換ACTIVEINACTIVE是可能的。因此,您可以使用此方法執(zhí)行某些簡單的操作,例如,提交任何更改。

在前景上

onForeground 上受保護的 void(Intent intent)

當(dāng)技能的狀態(tài)從背景變?yōu)椴?strong>活躍時回調(diào) 。

這是一種中間狀態(tài)回調(diào)方法。通常,系統(tǒng)調(diào)用此方法以刷新數(shù)據(jù)狀態(tài),然后回調(diào) onActive()方法。

參數(shù):

參數(shù)名稱 參數(shù)說明
Intent 指示該Ability恢復(fù)為非活動狀態(tài)時攜帶的信息。

在背景上

受保護的 void onBackground()

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

Background狀態(tài)下的 Page 功能是不可見的。建議您暫停與該功能相關(guān)的線程,并清除一些資源以釋放系統(tǒng)內(nèi)存。

在連接

受保護的 IRemoteObject onConnect(Intent intent)

當(dāng)服務(wù)Ability首次與該Ability相關(guān)聯(lián)時回調(diào)。

僅在服務(wù)Ability上調(diào)用此方法。您可以覆蓋該方法以返回服務(wù)Ability的代理。

參數(shù):

參數(shù)名稱 參數(shù)說明
Intent 指示有關(guān)服務(wù)Ability的連接信息。

返回值:

返回服務(wù)Ability的代理。

斷開時

保護無效 onDisconnect (Intent intent)

當(dāng)與服務(wù)Ability相關(guān)的所有Ability都斷開連接時回調(diào)。

僅在服務(wù)Ability上調(diào)用此方法。您可以覆蓋該方法以清除服務(wù)Ability的代理資源。

參數(shù):

參數(shù)名稱 參數(shù)說明
Intent 指示有關(guān)服務(wù)Ability的斷開連接信息。

在命令

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

不推薦使用。服務(wù)Ability啟動時回調(diào)。

此方法只能由“服務(wù)”功能調(diào)用。您可以使用 startAbility(ohos.aafwk.content.Intent)方法啟動服務(wù)功能。然后,系統(tǒng)調(diào)用當(dāng)前方法以使用傳輸?shù)?intent 參數(shù)執(zhí)行其自己的邏輯。

參數(shù):

參數(shù)名稱 參數(shù)說明
Intent 指示啟動服務(wù)功能的Intent。
重新開始 指示啟動模式。值為 true 表示服務(wù)Ability在銷毀后重新啟動,值為 false 表示正常啟動。

在命令

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

服務(wù)啟動時回叫。

此方法只能由 Service 調(diào)用。您可以使用 startAbility(ohos.aafwk.content.Intent)方法啟動 Service。然后,系統(tǒng)調(diào)用當(dāng)前方法以使用傳輸?shù)?intent 參數(shù)執(zhí)行其自己的邏輯。

參數(shù):

參數(shù)名稱 參數(shù)說明
Intent 指示服務(wù)啟動的Intent。
重新開始 指示啟動模式。值為 true 表示服務(wù)在銷毀后將重新啟動,而值為 false 表示正常啟動。
startId 指示啟動服務(wù)功能的次數(shù)。每次啟動異能時,startId 都會增加 1。例如,如果該Ability已啟動六次,則 startId 的值為 6。

New Intent

protected void onNewIntent (Intent intent)

在功能的啟動模式設(shè)置為 singleInstance 時調(diào)用。當(dāng)您重新啟動位于功能堆棧頂部的功能時,會發(fā)生這種情況。

參數(shù):

參數(shù)名稱 參數(shù)說明
Intent 指示包含有關(guān)Ability信息的新Intent。

關(guān)于配置更新

public void onConfigurationUpdated (Configuration configuration)

在系統(tǒng)配置更新時調(diào)用。

參數(shù):

參數(shù)名稱 參數(shù)說明
組態(tài) 配置信息包括語言環(huán)境。

觸摸事件

受保護的布爾 onTouchEvent(TouchEvent事件)

在將觸摸事件調(diào)度到此功能時調(diào)用。此回調(diào)的默認實現(xiàn)不執(zhí)行任何操作,并返回false。

參數(shù):

參數(shù)名稱 參數(shù)說明
事件 指示有關(guān)觸摸事件的信息。

返回值:

如果處理了事件,則返回 true;否則,返回 false。否則返回 false。

方向改變

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

當(dāng)屏幕的顯示方向改變時回調(diào)。

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

參數(shù):

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

在內(nèi)存級別

onMemoryLevel 上的 public void(int 級別)

在系統(tǒng)確定修整內(nèi)存時調(diào)用,例如,當(dāng)該功能在后臺運行并且沒有足夠的內(nèi)存來運行盡可能多的后臺進程時調(diào)用。

參數(shù):

參數(shù)名稱 參數(shù)說明
水平 指示內(nèi)存調(diào)整級別,該級別顯示當(dāng)前內(nèi)存使用狀況。這些值及其各自的含義如下:5:應(yīng)用程序正常運行,不會被殺死,但是設(shè)備的內(nèi)存略微不足。系統(tǒng)可能會根據(jù)最近最少使用(LRU)列表開始終止進程。10:應(yīng)用程序正常運行,不會被殺死,但是設(shè)備的內(nèi)存極低。您的應(yīng)用程序應(yīng)釋放一些不必要的資源以提高系統(tǒng)性能,從而相應(yīng)地提高應(yīng)用程序性能。15:應(yīng)用程序正常運行,但是系統(tǒng)已根據(jù) LRU 列表終止了大多數(shù)緩存的進程。在這種情況下,您的應(yīng)用程序應(yīng)釋放盡可能多的不必要資源。否則,系統(tǒng)可能會繼續(xù)終止所有緩存的進程,并開始終止某些應(yīng)保持運行的進程,例如,在后臺運行的服務(wù)。20:例如,由于用戶觸摸了設(shè)備上的 Home 鍵,因此應(yīng)用程序 UI 被隱藏。您的應(yīng)用程序應(yīng)釋放分配給 UI 顯示的資源,以釋放內(nèi)存。40:設(shè)備的內(nèi)存不足,并且您的應(yīng)用程序位于 LRU 列表的頂部。該系統(tǒng)不太可能殺死您的應(yīng)用程序。為了使您的應(yīng)用程序進程在緩存中保留更長的時間,您的應(yīng)用程序應(yīng)通過釋放一些易于恢復(fù)的資源來增加可用的系統(tǒng)內(nèi)存。這樣,您的應(yīng)用程序可以平穩(wěn)地返回到前臺,而不必重新啟動。60:設(shè)備的內(nèi)存消耗極低,您的應(yīng)用程序位于 LRU 列表的中間。如果沒有更多的內(nèi)存釋放,您的應(yīng)用程序可能會在以后被殺死。80:設(shè)備的內(nèi)存消耗極低,您的應(yīng)用程序位于 LRU 列表的末尾。該系統(tǒng)最有可能首先殺死您的應(yīng)用程序。在這種情況下,您的應(yīng)用程序應(yīng)釋放所有可以釋放的資源。

在重新連接上

public void onReconnect (Intent intent)

當(dāng)新的客戶端之前與之?dāng)嚅_所有連接后,新客戶端嘗試連接至服務(wù)Ability時調(diào)用。

服務(wù)Ability必須已啟動,但沒有被破壞,也就是說,startAbility(ohos.aafwk.content.Intent)已被調(diào)用但stopAbility(ohos.aafwk.content.Intent)也沒有。

參數(shù):

參數(shù)名稱 參數(shù)說明
Intent 指示正在連接服務(wù)Ability的Intent。

Ability結(jié)果

受保護的無效 onAbilityResult(int requestCode,int resultCode,Intent resultData)

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

僅在 Page 功能上調(diào)用此方法。您可以啟動一項新功能來執(zhí)行一些計算,并使用 setResult(int,ohos.aafwk.content.Intent)返回計算結(jié)果。然后,系統(tǒng)回調(diào)當(dāng)前方法以使用返回的數(shù)據(jù)執(zhí)行其自己的邏輯。

參數(shù):

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

在創(chuàng)建表單上

受保護的 AbilityForm onCreateForm()

調(diào)用以返回 AbilityForm 對象。

如果 Page 功能需要在其他功能中顯示為 AbilityForm,請重寫此方法以返回 AbilityForm 對象。默認情況下,返回 null。

返回值:

返回 AbilityForm 對象。

在保存Ability狀態(tài)

public void onSaveAbilityState((PacMap outState)

保存此功能的臨時數(shù)據(jù)和狀態(tài)。此方法應(yīng)通過 Page 功能實現(xiàn)。

當(dāng)系統(tǒng)確定在意外情況下(例如,當(dāng)屏幕方向更改或用戶觸摸 Home 鍵時)該功能可能被破壞時,將調(diào)用此方法。通常,此方法僅用于保存臨時狀態(tài)。

參數(shù):

參數(shù)名稱 參數(shù)說明
outState 指示用于存儲用戶數(shù)據(jù)和狀態(tài)的PacMap對象。此參數(shù)不能為空。

恢復(fù)Ability狀態(tài)

public void onRestoreAbilityState(PacMap inState)

由系統(tǒng)恢復(fù)Ability的數(shù)據(jù)和狀態(tài)。此方法應(yīng)通過Page功能實現(xiàn)。

如果某個功能由于資源回收而在特定時間被破壞或被意外破壞,則調(diào)用此方法,并調(diào)用onSaveAbilityState(ohos.utils.PacMap)方法以保存其用戶數(shù)據(jù)和狀態(tài)。通常,此方法在onStart(ohos.aafwk.content.Intent)方法之后調(diào)用。

參數(shù):

參數(shù)名稱 參數(shù)說明
州內(nèi) 指示用于存儲數(shù)據(jù)和狀態(tài)的PacMap對象。此參數(shù)不能為空。

用戶結(jié)果中的請求權(quán)限

public void onRequestPermissionsFromUserResult(int requestCode, String[] permissions,int [] grantResults)

Called back after permissions are requested by using AbilityContext.requestPermissionsFromUser(java.lang.String[],int).

參數(shù):

參數(shù)名稱 參數(shù)說明
請求代碼 指示從 AbilityContext.requestPermissionsFromUser(java.lang.String [],int)傳遞給此方法的請求代碼。
權(quán)限 指示使用 AbilityContext.requestPermissionsFromUser(java.lang.String [],int)請求的權(quán)限列表。此參數(shù)不能為空。
授予結(jié)果 指示使用 AbilityContext.requestPermissionsFromUser(java.lang.String [],int)請求的相應(yīng)權(quán)限的授予結(jié)果。值 0 表示授予權(quán)限,值 -1 表示不授予權(quán)限。

在新說明中

public CharSequence 的onNewDescription()

在此功能之前調(diào)用的是為該功能生成新描述的背景。此方法旨在將要顯示的Ability當(dāng)前狀態(tài)的文本描述返回給用戶。

返回值:

返回當(dāng)前用戶行為的簡短描述。

onLeaveForeground

public void onLeaveForeground()

當(dāng)此功能由于用戶操作(例如,用戶觸摸Home鍵)而即將離開前臺并進入背景時調(diào)用。

事件派遣

public void onEventDispatch()

每次為此功能調(diào)度按鍵,觸摸或軌跡球事件時調(diào)用。如果您想知道用戶在此功能運行時以某種方式與設(shè)備進行了交互,則可以覆蓋此回調(diào)方法。此方法與 onLeaveForeground() 一起 設(shè)計用于幫助功能智能地管理狀態(tài)欄通知。具體來說,它們幫助功能確定何時取消通知。

啟動Ability

public final void startAbility((Intent intent)throw IllegalArgumentException,IllegalStateException

開始一項新技能。

頁面或服務(wù)Ability使用此方法來啟動特定Ability。系統(tǒng)根據(jù) intent 參數(shù)的值從已安裝的Ability中定位目標(biāo)Ability,然后啟動它。您可以指定使用 intent 參數(shù)開始的功能。

通過添加 Intent#FLAG_START_FOREGROUND_ABILITY 的標(biāo)志,即使沒有啟動托管該功能的應(yīng)用程序,也可以啟動它參數(shù):

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

Throws:

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

啟動Ability

public final void startAbility(Intent intent,AbilityOptions選項)throw IllegalArgumentException,IllegalStateException

從選項開始新技能。

Page 功能使用此方法來啟動具有共享組件轉(zhuǎn)換的功能。

參數(shù):

參數(shù)名稱 參數(shù)說明
Intent 指示啟動的Ability。
選項 Ability選項參數(shù),可以轉(zhuǎn)移共享組件進行過渡。

throw:

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

也可以看看:

startAbility(Intent)

開始結(jié)果的Ability

public final void startAbilityForResult(Intent intent,int requestCode)throw IllegalArgumentException,IllegalStateException

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

銷毀該Ability時,將調(diào)用 onAbilityResult(int,int,ohos.aafwk.content.Intent),并將返回的 requestCode 傳輸?shù)疆?dāng)前方法。給定的 requestCode 是自定義的,不能為負數(shù)。

參數(shù):

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

throw:

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

也可以看看:

startAbility(Intent),onAbilityResult(int,int,Intent),setResult(int,Intent)

設(shè)定結(jié)果

public final void setResult(int resultCode,Intent resultData)

設(shè)置此 Page 功能返回給調(diào)用方的結(jié)果代碼和數(shù)據(jù)。

當(dāng) Page 功能被銷毀時,調(diào)用方將覆蓋 AbilitySlice#onAbilityResult(int,int,Intent) 方法,以接收當(dāng)前方法中的ResultSet。僅在功能已初始化后才能調(diào)用此方法。

參數(shù):

參數(shù)名稱 參數(shù)說明
resultCode 指示銷毀該Ability后返回的結(jié)果代碼。您可以定義結(jié)果代碼以識別錯誤。
resultData 指示銷毀該Ability后返回的數(shù)據(jù)。您可以定義返回的數(shù)據(jù)。此參數(shù)可以為空。

throw:

throw名稱 throw說明
IllegalStateException 如果此Ability不是 Page Ability或該Ability未初始化,則throw此異常。

終止Ability

公共最終無效 ()

破壞此頁面或服務(wù)功能。

頁面或服務(wù)功能執(zhí)行完所有操作后,便可以使用此方法破壞自身以釋放內(nèi)存。僅在功能被初始化后才能調(diào)用此方法。

指定者:

接口 ContextterminateAbility

覆寫:

terminateAbility 類 AbilityContext

也可以看看:

Context.terminateAbility()

停止Ability

public final boolean stopAbility(Intent intent)

摧毀另一種服務(wù)Ability。

指定者:

接口Context stopAbility

覆寫:

stopAbility 類 AbilityContext

參數(shù):

參數(shù)名稱 參數(shù)說明
Intent 指示有關(guān)服務(wù)Ability的信息。

返回值:

如果服務(wù)Ability被破壞,則返回 true;否則,返回 true。否則返回 false。

也可以看看:


網(wǎng)站名稱:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSAbility
轉(zhuǎn)載來于:http://www.5511xx.com/article/dhodooi.html