Activity 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
活動是使用者可以執行的單一焦點專案。
[Android.Runtime.Register("android/app/Activity", DoNotGenerateAcw=true)]
public class Activity : Android.Views.ContextThemeWrapper, Android.Content.IComponentCallbacks2, Android.Views.KeyEvent.ICallback, Android.Views.LayoutInflater.IFactory2, Android.Views.View.IOnCreateContextMenuListener, Android.Views.Window.ICallback, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("android/app/Activity", DoNotGenerateAcw=true)>]
type Activity = class
inherit ContextThemeWrapper
interface IComponentCallbacks
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IComponentCallbacks2
interface KeyEvent.ICallback
interface LayoutInflater.IFactory
interface LayoutInflater.IFactory2
interface View.IOnCreateContextMenuListener
interface Window.ICallback
- 繼承
- 衍生
- 屬性
- 實作
備註
活動是使用者可以執行的單一焦點專案。 幾乎所有的活動都會與用戶互動,因此 Activity 類別會為您建立視窗,讓您能夠將 UI 放在 #setContentView
其中。 雖然活動通常會向用戶呈現為全螢幕視窗,但也可以透過其他方式使用:浮動視窗(透過已設定的主題 android.R.attr#windowIsFloating
)、 多視窗模式 或內嵌到其他視窗。
活動幾乎所有子類別幾乎都有兩種方法會實作:
<ul><li>#onCreate
是您初始化活動的位置。 最重要的是,您通常會使用定義UI的配置資源來呼叫 #setContentView(int)
,並使用 #findViewById
來擷取您需要以程式設計方式互動之UI中的小工具。
<li>#onPause
是您處理使用者暫停活動互動的位置。 此時,使用者所做的任何變更都應該認可(通常是 android.content.ContentProvider
對持有數據)。 在此狀態下,活動仍會顯示在螢幕上。 </ul>
若要搭配 android.content.Context#startActivity Context.startActivity()
使用 ,所有活動類別都必須在其套件的 AndroidManifest.xml
中具有對應的android.R.styleable#AndroidManifestActivity <activity>
宣告。
本文涵蓋的主題:ol>li Fragments<li>活動週期<li 組態變更<li>>啟動活動,並取得結果<li>儲存持續性狀態<li>進程<>生命週期</ol><<>
<div class=“special reference”><h3>Developer Guides</h3>
Activity 類別是應用程式整體生命週期的重要組成部分,而活動啟動和整合方式是平臺應用程式模型的基本部分。 如需 Android 應用程式結構及活動運作方式的詳細檢視方塊,請閱讀 應用程式基本概念 和 工作和 Back Stack 開發人員指南。
您也可以在活動開發人員指南中找到有關如何建立活動的詳細討論。
</div>
“Fragments”><h3>Fragments</h3>
子 androidx.fragment.app.FragmentActivity
類別可以使用 androidx.fragment.app.Fragment
類別,將程式代碼更模組化、為較大的螢幕建置更複雜的使用者介面,並協助在小型和大型螢幕之間調整其應用程式。
如需使用片段的詳細資訊,請參閱 片段 開發人員指南。
“ActivityLifecycle”><h3>活動生命週期</h3>
系統中的活動會以活動堆疊的形式進行管理。 啟動新活動時,它通常會放在目前堆疊的頂端,並變成執行中的活動 -- 先前的活動一律會保留在堆棧中,而且在新的活動結束之前不會再次進入前景。 畫面上可以看見一或多個活動堆疊。
活動基本上有四種狀態:
<ul>li 如果活動位於畫面的前景(位於最上層堆棧的最高位置),則為 <em>active</em> 或 <em>running</em>。>< 這通常是使用者目前正在與其互動的活動。</li li><>如果活動已失去焦點,但仍向用戶呈現,則為 <em>visible</em。> 如果新的非完整大小或透明活動將焦點放在活動之上,另一個活動在多視窗模式中的位置較高,或者活動本身在目前視窗化模式中無法聚焦,就有可能。 這類活動完全活著(它會維護所有狀態和成員資訊,並且仍然附加至視窗管理員)。 <li>如果活動完全被另一個活動遮蔽,則會 <是 em>stopped</em> 或 <em>hidden</em>。 它仍然會保留所有狀態和成員資訊,但是使用者不會再看到它,因此其視窗會隱藏,而且當其他地方需要記憶體時,系統通常會終止它。</li li><>系統可以要求它完成,或只是殺死它的進程,使它<被>摧毀/em>,從記憶體中卸除<活動。 再次向用戶顯示時,它必須完全重新啟動並還原至其先前的狀態。</li></ul>
下圖顯示活動的重要狀態路徑。 方形矩形代表您可以在活動在狀態之間移動時實作以執行作業的回呼方法。 彩色橢圓形是活動可以位於的主要狀態。
<img src=“../../../images/activity_lifecycle.png“alt=”Android 活動生命週期的狀態圖表“。 border=“0” />
您可能會對活動內的監視感興趣三個主要循環:
<ul><li>活動<>整個存留期</b> 會在第一次呼叫 到 的單一最後呼叫 android.app.Activity#onCreate
android.app.Activity#onDestroy
之間發生。 活動會在 onCreate(中執行所有「全域」狀態的設定,並在 onDestroy() 中釋放所有剩餘的資源。 例如,如果線程在背景中執行以從網路下載數據,它可能會在 onCreate() 中建立該線程,然後在 onDestroy() 中停止線程。
<li>活動的 <b>可見存留期</b> 會在 呼叫 android.app.Activity#onStart
之間發生,直到對應呼叫 android.app.Activity#onStop
為止。 在此期間,使用者可以看到螢幕上的活動,不過它可能不在前景,並與用戶互動。 在這兩種方法之間,您可以維護向用戶顯示活動所需的資源。 例如,您可以在 onStart() 中註冊 android.content.BroadcastReceiver
來監視會影響 UI 的變更,並在使用者不再看到您顯示的內容時,將它取消註冊到 onStop()。 onStart() 和 onStop() 方法可以多次呼叫,因為活動對用戶可見和隱藏。
<li>活動><的前景存留期</b> 會在 呼叫 android.app.Activity#onResume
之間發生,直到對應呼叫 android.app.Activity#onPause
為止。 在此期間,活動會顯示、使用中,並與用戶互動。 活動通常會在繼續狀態和暫停狀態之間進行,例如當裝置進入睡眠狀態、傳遞活動結果時、傳遞新意圖時 ,因此這些方法中的程式碼應該相當羽量。 </ul>
活動的整個生命週期是由下列 Activity 方法所定義。 所有這些連結都是您可以在活動變更狀態時覆寫以執行適當工作的勾點。 所有活動都會實 android.app.Activity#onCreate
作以執行其初始設定;許多活動也會實 android.app.Activity#onPause
作來認可數據的變更,並準備暫停與用戶互動,並 android.app.Activity#onStop
處理畫面上不再顯示。 實作這些方法時,您應該一律呼叫您的超級類別。
</p>
public class Activity extends ApplicationContext {
protected void onCreate(Bundle savedInstanceState);
protected void onStart();
protected void onRestart();
protected void onResume();
protected void onPause();
protected void onStop();
protected void onDestroy();
}
一般而言,透過活動生命週期的移動看起來像這樣:
<table border=“2” width=“85%” align=“center” frame=“hsides” rules=“rows>”colgroup align=“left” span=“3” /colgroup align=“left” /<>><colgroup align=“center” /<>colgroup align=“center” /<>
<thead><tr><th colspan=“3”>Method</th><>th Description</th th><>Killable?</th><>Next</th></tr></thead>
<tbody tr td colspan=“3” align=“left” border=“0”>android.app.Activity#onCreate onCreate()
</td td><>在第一次建立活動時呼叫。><>< 這是您應該執行所有一般靜態設定的位置:建立檢視、將數據系結至清單等等。這個方法也會提供一個套件組合,其中包含活動先前凍結的狀態,如果有的話。
一律後面接著 onStart()
。</td td align=“center”>No</td td<>align=“center”><onStart()
/td></tr><>
<tr><td rowspan=“5” style=“border-left: none; border-right: none;”> </td td colspan=“2” align=“left” border=“0”<>android.app.Activity#onRestart onRestart()
/td td><>在活動停止之後呼叫,然後再重新啟動。><
一律跟著 onStart()
/td td<>align=“center”>No</td td><align=“center”>onStart()
</td<>/tr<>
<tr><td colspan=“2” align=“left” border=“0”>android.app.Activity#onStart onStart()
</td td><>當使用者看到活動時呼叫。
onResume()
如果活動來到前景,則為 ,如果onStop()
活動變成隱藏,則接著接著。</td td align=“center”>No</td td<>align=“center”>onResume()
or onStop()
</td></tr><>
<tr><td rowspan=“2” style=“border-left: none;”> </td td align=“left” border=“0”><android.app.Activity#onResume onResume()
/td td><>在活動開始與用戶互動時呼叫。>< 此時,您的活動位於其活動堆疊頂端,用戶輸入會移至該堆棧。
一律後面接著 onPause()
。</td td align=“center”>No</td td<>align=“center”><onPause()
/td></tr><>
<tr><td align=“left” border=“0”>android.app.Activity#onPause onPause()
</td td><>當活動失去前景狀態時呼叫, 已不再為焦點,或轉換至停止/隱藏或終結狀態之前。 使用者仍然可以看到活動,因此建議您以可視化方式保持作用中,並繼續更新UI。 此方法的實作必須非常快速,因為直到此方法傳回之後,才會繼續下一個活動。
onResume()
如果活動傳回前端,或onStop()
使用者看不見,則接著接著。</td td align=“center”><font color=“#800000”><strong Pre-<android.os.Build.VERSION_CODES#HONEYCOMB
/strong><>/font></td td align=“center”onResume()
> or<br><onStop()
/td<<>>/tr><>
<tr><td colspan=“2” align=“left” border=“0”>android.app.Activity#onStop onStop()
</td td><>當使用者不再看到活動時呼叫。 這可能是因為新的活動正在啟動,現有的活動正被帶到這個活動前面,或正在終結。 這通常用來停止動畫和重新整理UI等等。
onRestart()
接著,如果此活動回來與用戶互動,或onDestroy()
此活動即將消失,則接著。</td td align=“center”><font color=“#800000”><strong Yes</strong>></font></td td><align=“center”onRestart()
> or<br>onDestroy()
</td></tr><>
<tr><td colspan=“3” align=“left” border=“0”>android.app.Activity#onDestroy onDestroy()
</td td><>在您活動終結之前收到的最終呼叫。 可能是因為活動正在完成(有人呼叫 Activity#finish
它),或因為系統正在暫時終結此活動實例來節省空間,所以可能會發生這種情況。 您可以使用 方法區分這兩個Activity#isFinishing
案例。</td td align=“center”><font color=“#800000”><strong Yes</strong><>/font></td td align=“center”><em nothing</em><>/td/td<<>>/tr></tbody></table><>
請注意上表中的 「Killable」 資料行 -- 針對標示為可終止的方法,在該方法傳回裝載活動的進程後,系統 <em>隨時<>可能會終止,而不會執行其程式代碼的另一行。 因此,您應該使用 #onPause
方法將任何持續性數據(例如使用者編輯)寫入記憶體。 此外,在將活動置於這類背景狀態之前,會先呼叫 方法 #onSaveInstanceState(Bundle)
,讓您將活動中的任何動態實例狀態儲存到指定的套件組合中,以便在活動需要重新建立時收到 #onCreate
。 如需進程生命週期與所裝載活動系結的詳細資訊,請參閱程式生命週期一節。 請注意,請務必在 中 #onPause
儲存持續性數據,而不是 #onSaveInstanceState
因為後者不是生命週期回呼的一部分,因此不會在其檔中所述的每個情況下呼叫。
<p class=“note”>請注意,這些語意會稍微在以 舊版平臺為目標 android.os.Build.VERSION_CODES#HONEYCOMB
的應用程式之間變更。 從 Honeycomb 開始,應用程式在傳回之前 #onStop
不會處於可終止狀態。 這會影響呼叫的時間 #onSaveInstanceState(Bundle)
(可能會在之後 #onPause()
安全地呼叫),並允許應用程式安全地等待直到 #onStop()
儲存持續性狀態為止。</p>
<p class=“note”>針對以 開頭 android.os.Build.VERSION_CODES#P
#onSaveInstanceState(Bundle)
的平臺為目標的應用程式,一律會在 之後 #onStop
呼叫 ,因此應用程式可能會安全地在 中 #onStop
執行片段交易,且稍後能夠儲存持續性狀態。</p>
對於未標示為可終止的方法,從呼叫方法並繼續進行之後,系統將不會終止活動的進程。 因此,活動處於可終止狀態,例如,在 之後 onStop()
到 開頭 onResume()
之間。 請記住,在極端的記憶體壓力下,系統可以隨時終止應用程式進程。
“ConfigurationChanges”><h3>組態變更</h3>
如果裝置的組態(如 類別所定義 Configuration Resources.Configuration
)變更,則任何顯示使用者介面的專案都必須更新以符合該組態。 因為 Activity 是與用戶互動的主要機制,所以它包含處理設定變更的特殊支援。
除非您另有指定,否則組態變更(例如螢幕方向、語言、輸入設備等的變更)會導致您目前的活動損<>毀</em>,並視需要經歷、 #onStop
和 #onDestroy
的#onPause
一般活動生命週期程式。 如果活動已在前景或用戶可見,一旦 #onDestroy
在該實例中呼叫,就會建立活動的新實例,併產生先前實例所產生的 #onSaveInstanceState
任何 savedInstanceState。
這是因為任何應用程式資源,包括版面配置檔案,都可以根據任何組態值變更。 因此,處理組態變更的唯一安全方法是重新擷取所有資源,包括版面配置、可繪製和字串。 因為活動必須知道如何儲存其狀態,並從該狀態重新建立自己,因此這是讓活動以新的設定自行重新啟動的便利方式。
在某些特殊情況下,您可能會想要根據一或多個組態變更類型略過重新啟動活動。 這會使用 android.R.attr#configChanges android:configChanges
其指令清單中的 屬性來完成。 對於您說在那裡處理的任何類型的組態變更,您會收到目前活動方法的 #onConfigurationChanged
呼叫,而不是重新啟動。 不過,如果設定變更牽涉到您未處理的任何專案,則活動仍會重新啟動且 #onConfigurationChanged
不會呼叫。
“StartingActivities”><h3>Starting Activities and Getting Results</h3>
方法 android.app.Activity#startActivity
可用來啟動新的活動,這會放在活動堆疊的頂端。 它會採用單一自變數 , android.content.Intent Intent
描述要執行的活動。
有時候您想要在活動結束時從活動取得結果。 例如,您可以啟動活動,讓使用者在聯繫人清單中挑選人員;結束時,它會傳回已選取的人員。 若要這樣做,您會使用識別呼叫的第二個整數參數來呼叫 android.app.Activity#startActivityForResult(Intent, int)
版本。 結果會透過您的 android.app.Activity#onActivityResult
方法傳回。
活動結束時,可以呼叫 android.app.Activity#setResult(int)
以將數據傳回其父代。 它必須一律提供結果碼,它可以是標準結果RESULT_CANCELED、RESULT_OK或任何從RESULT_FIRST_USER開始的自定義值。 此外,它也可以選擇性地傳回意圖,其中包含它想要的任何其他數據。 此信息都會回到父系 的 Activity.onActivityResult()
上,以及原本提供的整數標識碼。
如果子活動因任何原因而失敗(例如當機),父活動將會收到程式代碼RESULT_CANCELED的結果。
public class MyActivity extends Activity {
...
static final int PICK_CONTACT_REQUEST = 0;
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
// When the user center presses, let them pick a contact.
startActivityForResult(
new Intent(Intent.ACTION_PICK,
new Uri("content://contacts")),
PICK_CONTACT_REQUEST);
return true;
}
return false;
}
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == PICK_CONTACT_REQUEST) {
if (resultCode == RESULT_OK) {
// A contact was picked. Here we will just display it
// to the user.
startActivity(new Intent(Intent.ACTION_VIEW, data));
}
}
}
}
“SavingPersistentState”><h3>儲存持續性狀態</h3>
活動通常會處理兩種持續性狀態:共用的文件式數據(通常使用 android.content.ContentProvider 內容提供者儲存在 SQLite 資料庫中),以及使用者喜好設定等內部狀態。
對於內容提供者數據,我們建議活動使用「就地編輯」使用者模型。 也就是說,使用者所做的任何編輯都會立即有效地進行,而不需要額外的確認步驟。 支援此模型通常是下列兩個規則的簡單事項:
<ul><li>
建立新檔時,會立即建立其支援資料庫專案或檔案。 例如,如果使用者選擇撰寫新的電子郵件,該電子郵件的新專案會在他們開始輸入數據時立即建立,因此,如果他們在該之後移至任何其他活動,此電子郵件現在會出現在草稿清單中。
<李>
呼叫活動的 onPause()
方法時,它應該認可給備份內容提供者或檔案使用者所做的任何變更。 這可確保即將執行的任何其他活動都會看到這些變更。 您可能想要在活動生命週期的關鍵時間更積極地認可您的數據:例如,在開始新活動之前,在完成自己的活動之前,當使用者在輸入字段之間切換等等。
</ul>
此模型的設計目的是在使用者於活動之間流覽時防止數據遺失,並允許系統在活動停止后隨時安全地終止活動(因為系統資源在其他地方需要),或在之前 android.os.Build.VERSION_CODES#HONEYCOMB
的平臺版本上暫停)。 請注意,這表示使用者從您的活動按下BACK並不<><>表示「取消」,這表示讓活動保持目前儲存的內容。 必須透過一些其他機制來取消活動中的編輯,例如明確的「還原」或「復原」選項。
如需內容提供者的詳細資訊,請參閱 android.content.ContentProvider 內容套件。 這些是不同活動如何叫用和傳播數據本身的重要層面。
Activity 類別也提供 API 來管理與活動相關聯的內部持續性狀態。 例如,這可以用來記住使用者慣用的初始顯示於行事曆(日檢視或周檢視)或使用者在網頁瀏覽器中的預設首頁。
活動持續性狀態是使用 方法 #getPreferences
進行管理,可讓您擷取和修改與活動相關聯的一組名稱/值組。 若要使用跨多個應用程式元件共用的喜好設定(活動、接收者、服務、提供者),您可以使用基礎 Context#getSharedPreferences Context.getSharedPreferences()
方法來擷取儲存在特定名稱下的喜好設定物件。 (請注意,您無法跨應用程式套件共用設定數據,因此您需要內容提供者。
以下是行事曆活動的摘錄,該活動會將使用者慣用的檢視模式儲存在其持續性設定中:
public class CalendarActivity extends Activity {
...
static final int DAY_VIEW_MODE = 0;
static final int WEEK_VIEW_MODE = 1;
private SharedPreferences mPrefs;
private int mCurViewMode;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPrefs = getSharedPreferences(getLocalClassName(), MODE_PRIVATE);
mCurViewMode = mPrefs.getInt("view_mode", DAY_VIEW_MODE);
}
protected void onPause() {
super.onPause();
SharedPreferences.Editor ed = mPrefs.edit();
ed.putInt("view_mode", mCurViewMode);
ed.commit();
}
}
“Permissions”><h3>Permissions</h3>
啟動特定活動的能力可以在其指令清單的 android.R.styleable#AndroidManifestActivity <activity>
標記中宣告時強制執行。 如此一來,其他應用程式就必須在自己的指令清單中宣告對應的 android.R.styleable#AndroidManifestUsesPermission <uses-permission>
專案,才能啟動該活動。
啟動活動時,您可以在意圖上設定 Intent#FLAG_GRANT_READ_URI_PERMISSION Intent.FLAG_GRANT_READ_URI_PERMISSION
和/或 Intent#FLAG_GRANT_WRITE_URI_PERMISSION Intent.FLAG_GRANT_WRITE_URI_PERMISSION
。 這會授與活動對意圖中特定 URI 的存取權。 存取權將維持在活動完成之前(它會保留在裝載過程中被終止和其他暫時銷毀)。 從 開始 android.os.Build.VERSION_CODES#GINGERBREAD
,如果活動已建立,且新的意圖正在傳遞至 #onNewIntent(Intent)
,則任何新授與的 URI 許可權都會新增至其保留的現有 URI 許可權。
“ProcessLifecycle”><h3>進程生命週期</h3>
Android 系統會嘗試讓應用程式進程保持一段時間,但最終需要在記憶體執行不足時移除舊進程。 如活動生命週期中所述,決定要移除的程式會與使用者與其互動的狀態緊密系結。 一般而言,有四種狀態,程式可以根據在其中執行的活動,依重要性順序列於此處。 在它訴諸殺死更重要的進程(第一個進程)之前,該系統將殺死較不重要的進程(最後一個進程)。
<ol><li>
<b>前景活動</b>(使用者目前正在與其互動之畫面頂端的活動)被視為最重要的活動。 其進程只會終止為最後手段,如果其使用的記憶體比裝置上可用的記憶體還多。 一般而言,裝置已達到記憶體分頁狀態,因此這是為了讓使用者介面保持回應所需的狀態。 <李>
<b>可見活動/b>(使用者看不見前景的活動<,例如一個坐在前景對話後面或多視窗模式中其他活動旁的活動),會被視為極其重要,除非這是保留前景活動執行的必要條件,否則不會終止。 <李>
<b>背景活動</b>(使用者看不到且已停止的活動)已不再重要,因此系統可能會安全地終止其進程,以回收其他前景或可見進程的記憶體。 如果其程式需要終止,當使用者巡覽回活動時(再次在螢幕上顯示它),其 #onCreate
方法將會使用先前提供的 #onSaveInstanceState
savedInstanceState 呼叫,使其可以與使用者上次離開活動相同的狀態重新啟動。 <李>
<b>空的進程</b> 是一個裝載沒有活動或其他應用程式元件(例如 Service
或 android.content.BroadcastReceiver
類別) 的應用程式元件。 當記憶體變低時,系統會非常快速地終止這些事件。 基於這個理由,您在活動外部執行的任何背景作業都必須在 Activity BroadcastReceiver 或服務的內容中執行,以確保系統知道它需要保留您的程式。 </老>
有時候活動可能需要執行長時間執行的作業,而此作業會獨立於活動生命週期本身。 例如,相機應用程式可讓您將圖片上傳至網站。 上傳可能需要很長的時間,而且應用程式應該允許使用者在執行時離開應用程式。 若要達成此目的,您的活動應該會啟動 Service
上傳的 。 這可讓系統在上傳期間適當地排定程式優先順序(將其視為比其他不可見的應用程式更重要),而不論原始活動已暫停、停止或完成。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。
建構函式
Activity() |
活動是使用者可以執行的單一焦點專案。 |
Activity(IntPtr, JniHandleOwnership) |
建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。 |
欄位
AccessibilityService |
使用 搭配 |
AccountService |
使用 搭配 |
ActivityService |
使用 來 |
AlarmService |
使用 搭配 |
AppOpsService |
使用搭配 |
AppSearchService |
使用 搭配 |
AppwidgetService |
使用 搭配 |
AudioService |
使用 搭配 |
BatteryService |
使用搭配 |
BindAllowActivityStarts |
已淘汰.
|
BindExternalServiceLong |
的運作方式與 |
BindNotPerceptible |
已淘汰.
旗標: |
BindSharedIsolatedProcess |
已淘汰.
旗標: |
BiometricService |
使用 來 |
BlobStoreService |
使用 搭配 |
BluetoothService |
使用 搭配 |
BugreportService |
擷取 Bugreport 的服務。 (繼承來源 Context) |
CameraService |
使用 來 |
CaptioningService |
使用 搭配 |
CarrierConfigService |
使用 搭配 |
ClipboardService |
使用搭配 |
CompanionDeviceService |
使用搭配 |
ConnectivityDiagnosticsService |
使用 搭配 |
ConnectivityService |
使用搭配 |
ConsumerIrService |
使用 搭配 |
CredentialService |
使用搭配 |
CrossProfileAppsService |
使用 搭配 |
DeviceIdDefault |
默認裝置識別碼,這是主要(非虛擬)裝置的標識碼。 (繼承來源 Context) |
DeviceIdInvalid |
無效的裝置識別碼。 (繼承來源 Context) |
DeviceLockService |
使用 搭配 |
DevicePolicyService |
使用 搭配 |
DisplayHashService |
使用搭配 |
DisplayService |
使用 來 |
DomainVerificationService |
使用搭配 |
DownloadService |
使用 搭配 |
DropboxService |
使用搭配 |
EuiccService |
使用搭配 |
FileIntegrityService |
使用 搭配 |
FingerprintService |
使用搭配 |
FullscreenModeRequestEnter |
已淘汰.
要求 類型的 |
FullscreenModeRequestExit |
已淘汰.
要求 類型 |
GameService |
使用 搭配 |
GrammaticalInflectionService |
使用 搭配 |
HardwarePropertiesService |
使用搭配 |
HealthconnectService |
使用 搭配 |
InputMethodService |
使用搭配 |
InputService |
使用 來 |
IpsecService |
使用 搭配 |
JobSchedulerService |
使用 搭配 |
KeyguardService |
使用 搭配 |
LauncherAppsService |
使用 搭配 |
LayoutInflaterService |
使用 搭配 |
LocaleService |
使用 搭配 |
LocationService |
使用 搭配 |
MediaCommunicationService |
使用搭配 |
MediaMetricsService |
使用 來 |
MediaProjectionService |
使用 搭配 |
MediaRouterService |
使用 搭配 |
MediaSessionService |
使用搭配 |
MidiService |
使用 搭配 |
NetworkStatsService |
使用搭配 |
NfcService |
使用 搭配 |
NotificationService |
使用 搭配 |
NsdService |
使用搭配 |
OverlayService |
使用 搭配 |
OverrideTransitionClose |
已淘汰.
要求 或 |
OverrideTransitionOpen |
已淘汰.
要求 或 |
PeopleService |
使用 來 |
PerformanceHintService |
使用 搭配 |
PowerService |
使用 搭配 |
PrintService |
|
ReceiverExported |
已淘汰.
旗標 |
ReceiverNotExported |
已淘汰.
旗標: |
ReceiverVisibleToInstantApps |
已淘汰.
旗標: |
RestrictionsService |
使用 搭配 |
RoleService |
使用搭配 |
SearchService |
使用 搭配 |
SensorService |
使用 搭配 |
ShortcutService |
使用搭配 |
StatusBarService |
使用 來 |
StorageService |
使用搭配 |
StorageStatsService |
使用搭配 |
SystemHealthService |
使用 搭配 |
TelecomService |
使用搭配 |
TelephonyImsService |
使用 搭配 |
TelephonyService |
使用 搭配 |
TelephonySubscriptionService |
使用 搭配 |
TextClassificationService |
使用 搭配 |
TextServicesManagerService |
使用搭配 |
TvInputService |
使用 來 |
TvInteractiveAppService |
使用 搭配 |
UiModeService |
使用 搭配 |
UsageStatsService |
使用搭配 |
UsbService |
使用 搭配 |
UserService |
使用 搭配 |
VibratorManagerService |
使用 搭配 |
VibratorService |
使用 搭配 |
VirtualDeviceService |
使用搭配 |
VpnManagementService |
使用搭配 |
WallpaperService |
使用 搭配 |
WifiAwareService |
使用 搭配 |
WifiP2pService |
使用 搭配 |
WifiRttRangingService |
使用 搭配 |
WifiService |
使用 搭配 |
WindowService |
使用 搭配 |
屬性
ActionBar |
擷取此活動的 ActionBar 參考。 |
Application |
傳回擁有此活動的應用程式。 |
ApplicationContext |
傳回目前進程之單一全域 Application 對象的內容。 (繼承來源 ContextWrapper) |
ApplicationInfo |
傳回此內容套件的完整應用程式資訊。 (繼承來源 ContextWrapper) |
Assets |
傳回應用程式套件的 AssetManager 實例。 (繼承來源 ContextWrapper) |
AttributionSource |
活動是使用者可以執行的單一焦點專案。 (繼承來源 Context) |
AttributionTag |
屬性可用於複雜的應用程式中,以邏輯方式分隔應用程式的部分。 (繼承來源 Context) |
BaseContext | (繼承來源 ContextWrapper) |
CacheDir |
傳回檔案系統上應用程式特定快取目錄的絕對路徑。 (繼承來源 ContextWrapper) |
CallingActivity |
傳回叫用此活動的活動名稱。 |
CallingPackage |
傳回叫用此活動的封裝名稱。 |
ChangingConfigurations |
如果因為無法處理正在變更的組態參數而終結此活動(因此其 |
Class |
傳回這個 |
ClassLoader |
傳回類別載入器,您可用來擷取此封裝中的類別。 (繼承來源 ContextWrapper) |
CodeCacheDir |
傳回檔案系統上應用程式特定快取目錄的絕對路徑,該目錄是專為儲存快取的程式代碼所設計。 (繼承來源 ContextWrapper) |
ComponentName |
傳回此活動的完整元件名稱。 |
ContentResolver |
傳回應用程式套件的 ContentResolver 實例。 (繼承來源 ContextWrapper) |
ContentScene |
|
ContentTransitionManager |
|
CurrentFocus |
呼叫 |
DataDir |
活動是使用者可以執行的單一焦點專案。 (繼承來源 ContextWrapper) |
DeviceId |
取得此內容相關聯的裝置標識碼。 (繼承來源 Context) |
Display |
取得與此內容相關聯的顯示。 (繼承來源 Context) |
ExternalCacheDir |
傳回主要外部檔案系統上目錄的絕對路徑(也就是 ExternalStorageDirectory 應用程式可以放置其擁有之快取檔案的位置。 (繼承來源 ContextWrapper) |
FilesDir |
傳回檔系統上用來儲存檔案 OpenFileOutput(String, FileCreationMode) 的目錄絕對路徑。 (繼承來源 ContextWrapper) |
FocusedStateSet |
活動是使用者可以執行的單一焦點專案。 |
FragmentManager |
傳回 FragmentManager,以便與與此活動相關聯的片段互動。 |
Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
HasWindowFocus |
如果此活動的 <em>main</em> 視窗目前有視窗焦點,則傳回 true。 |
Immersive |
位表示此活動為「沈浸式」,如果可能的話,不應被通知中斷。 -或- 調整目前的沉浸式模式設定。 |
InstanceCount |
活動是使用者可以執行的單一焦點專案。 |
Intent |
傳回啟動此活動的意圖。 -或- 變更 所 |
IsActivityTransitionRunning |
傳回目前在此活動上是否有任何活動轉換正在執行。 |
IsChangingConfigurations |
檢查此活動是否正在終結,以便以新的組態重新建立。 |
IsChild |
此活動是否內嵌在另一個活動內? |
IsDestroyed |
如果活動已進行最終 |
IsDeviceProtectedStorage |
活動是使用者可以執行的單一焦點專案。 (繼承來源 ContextWrapper) |
IsFinishing |
請檢查此活動是否正在進行完成,可能是因為您呼叫 |
IsInMultiWindowMode |
如果活動目前處於多視窗模式,則傳回 true。 |
IsInPictureInPictureMode |
如果活動目前處於圖片中模式,則傳回 true。 |
IsLaunchedFromBubble |
指出此活動是否從泡泡啟動。 |
IsLocalVoiceInteractionSupported |
查詢目前啟用的語音互動服務是否支援傳回語音互動器以供活動使用。 |
IsRestricted |
指出此內容是否受到限制。 (繼承來源 Context) |
IsTaskRoot |
傳回此活動是否為工作的根目錄。 |
IsUiContext |
如果內容是可存取、 或 |
IsVoiceInteraction |
檢查此活動是否在與使用者進行語音互動時執行。 |
IsVoiceInteractionRoot |
如同 |
JniIdentityHashCode |
活動是使用者可以執行的單一焦點專案。 (繼承來源 Object) |
JniPeerMembers |
活動是使用者可以執行的單一焦點專案。 |
LastNonConfigurationInstance |
擷取先前由 傳 |
LaunchedFromPackage |
傳回應用程式最初啟動此活動的套件名稱。 |
LaunchedFromUid |
傳回最初啟動此活動之應用程式的 UID。 |
LayoutInflater |
方便呼叫 |
LoaderManager |
傳回此活動的LoaderManager,並視需要建立它。 |
LocalClassName |
傳回此活動的類別名稱,並移除封裝前置詞。 |
MainExecutor |
|
MainLooper |
傳回目前進程之主線程的迴圈器。 (繼承來源 ContextWrapper) |
MaxNumPictureInPictureActions |
當使用者與目前處於圖片中模式的活動互動時,傳回在圖片中UI中顯示的動作數目。 |
MediaController |
取得控制器,此控制器應該在活動處於前景時接收媒體密鑰和磁碟區事件。 -或- 設定 |
MenuInflater |
傳 |
NoBackupFilesDir |
傳回檔案系統上目錄的絕對路徑,類似於 FilesDir。 (繼承來源 ContextWrapper) |
ObbDir |
傳回此應用程式 OBB 檔案(如果有的話)可找到的主要外部記憶體目錄。 (繼承來源 ContextWrapper) |
OnBackInvokedDispatcher |
傳 |
OpPackageName |
傳回應該用於 |
PackageCodePath |
傳回此內容主要 Android 套件的完整路徑。 (繼承來源 ContextWrapper) |
PackageManager |
傳回 PackageManager 實例以尋找全域套件資訊。 (繼承來源 ContextWrapper) |
PackageName |
傳回此應用程式套件的名稱。 (繼承來源 ContextWrapper) |
PackageResourcePath |
傳回此內容主要 Android 套件的完整路徑。 (繼承來源 ContextWrapper) |
Params |
如果透過 建立此內容,則傳回此內容所建立 |
Parent |
如果這個檢視是內嵌子系,則傳回父活動。 |
ParentActivityIntent |
|
PeerReference |
活動是使用者可以執行的單一焦點專案。 (繼承來源 Object) |
Referrer |
傳回啟動此活動的人員相關信息。 |
RequestedOrientation |
傳回活動目前要求的方向。 -或- 變更此活動所需的方向。 |
Resources |
傳回應用程式套件的 Resources 實例。 (繼承來源 ContextWrapper) |
SearchEvent |
在 onSearchRequested() 回呼期間,如果存在,此函式會傳回 |
SplashScreen |
取得活動用來與啟動顯示畫面交談的介面。 |
TaskId |
傳回此活動所使用之工作的標識碼。 |
Theme |
傳回與此內容相關聯的 Theme 物件。 (繼承來源 ContextWrapper) |
ThresholdClass |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
ThresholdType |
此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。 |
Title |
活動是使用者可以執行的單一焦點專案。 |
TitleColor |
已淘汰.
變更與此活動相關聯的標題色彩。 |
TitleFormatted |
變更與此活動相關聯的標題。 |
VoiceInteractor |
|
VolumeControlStream |
取得建議的音訊數據流,其音量應該由硬體音量控制變更。 -或- 建議硬體音量控件應變更其音量的音訊數據流。 |
Wallpaper | (繼承來源 ContextWrapper) |
WallpaperDesiredMinimumHeight | (繼承來源 ContextWrapper) |
WallpaperDesiredMinimumWidth | (繼承來源 ContextWrapper) |
Window |
擷取活動的目前 |
WindowManager |
擷取顯示自定義視窗的視窗管理員。 |
方法
明確介面實作
IJavaPeerable.Disposed() |
活動是使用者可以執行的單一焦點專案。 (繼承來源 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
活動是使用者可以執行的單一焦點專案。 (繼承來源 Object) |
IJavaPeerable.Finalized() |
活動是使用者可以執行的單一焦點專案。 (繼承來源 Object) |
IJavaPeerable.JniManagedPeerState |
活動是使用者可以執行的單一焦點專案。 (繼承來源 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
活動是使用者可以執行的單一焦點專案。 (繼承來源 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
活動是使用者可以執行的單一焦點專案。 (繼承來源 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
活動是使用者可以執行的單一焦點專案。 (繼承來源 Object) |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
活動是使用者可以執行的單一焦點專案。 |
GetJniTypeName(IJavaPeerable) |
活動是使用者可以執行的單一焦點專案。 |