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>Activity Lifecycle<li>Configuration Changes<li>Starting Activity and Get Results<li>Saving Persistent State<li>Permissions<li>Process Lifecycle</ol>
<div class=“special reference”><h3>开发人员指南</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 整个生存期</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><>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></tr></tbody></table>
请注意上表中的“Killable”列 -- 对于标记为可终止的方法,在该方法返回后,承载活动的进程可能随时<被 system <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 是与用户交互的主要机制,因此它包含对处理配置更改的特殊支持。
除非另行指定,否则配置更改 ((如屏幕方向、语言、输入设备等) 更改)将导致当前活动被<>销毁<>,并相应地经历 、 #onStop
和 #onDestroy
的#onPause
正常活动生命周期过程。 如果活动已在前台或对用户可见,则在该实例中调用 后 #onDestroy
,将创建活动的新实例,其中包含上一个实例从 #onSaveInstanceState
生成的任何 savedInstanceState。
这样做是因为任何应用程序资源(包括布局文件)都可以根据任何配置值进行更改。 因此,处理配置更改的唯一安全方法是重新检索所有资源,包括布局、可绘制内容和字符串。 由于活动必须已知道如何保存其状态并从该状态重新创建自身,因此这是使用新配置重启活动本身的便捷方法。
在某些特殊情况下,你可能希望基于一种或多种配置更改类型来绕过重启活动。 这是使用 android.R.attr#configChanges android:configChanges
其清单中的 属性完成的。 对于你说在那里处理的任何类型的配置更改,你将收到对当前活动的 方法的 #onConfigurationChanged
调用,而不是重新启动。 但是,如果配置更改涉及任何未处理的更改,则活动仍将重启,并且 #onConfigurationChanged
不会调用。
“StartingActivities”><h3>启动活动和获取结果</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>
通常,活动将处理两种持久状态:共享类似文档的数据 (通常存储在 SQLite 数据库中,使用 android.content.ContentProvider 内容提供程序) 和内部状态(如用户首选项)。
对于内容提供程序数据,我们建议活动使用“就地编辑”用户模型。 也就是说,用户所做的任何编辑都会立即有效地进行,而无需额外的确认步骤。 支持此模型通常是以下两个规则的简单问题:
<ul><li>
创建新文档时,将立即创建它的后备数据库条目或文件。 例如,如果用户选择编写新电子邮件,则一旦他们开始输入数据,就会为该电子邮件创建一个新条目,这样,如果他们在该时间点之后转到任何其他活动,则此电子邮件现在将显示在草稿列表中。
<李>
调用活动的 onPause()
方法时,它应将用户所做的任何更改提交到支持内容提供程序或文件。 这可确保这些更改将由即将运行的任何其他活动看到。 你可能希望在活动生命周期内的关键时间更积极地提交数据:例如,在开始新活动之前、完成自己的活动之前、用户切换输入字段时等。
</ul>
此模型旨在防止用户在活动之间导航时丢失数据,并允许系统安全地终止活动 (因为在) 之前 android.os.Build.VERSION_CODES#HONEYCOMB
在平台版本上停止 (或在平台版本上暂停后,系统资源需要其他位置) 。 请注意,这意味着用户从活动按 BACK 并不<><>表示“取消”,这意味着将活动保留其当前内容。 必须通过某些其他机制(例如显式的“还原”或“撤消”选项)提供取消活动中的编辑。
有关内容提供程序的详细信息,请参阅 android.content.ContentProvider 内容包。 这些是不同活动如何在它们之间调用和传播数据的关键方面。
Activity 类还提供了一个 API,用于管理与活动关联的内部持久状态。 例如,这可用于记住用户在日历中的首选初始显示 (天视图或周视图) 或用户在 Web 浏览器中的默认主页。
使用 方法 #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> (用户不可见且已停止的活动,) 不再重要,因此系统可以安全地终止其进程,以便为其他前台或可见进程回收内存。 如果需要终止其进程,当用户导航回活动 (使其再次在屏幕上可见) 时,将使用之前在 中#onSaveInstanceState
提供的 savedInstanceState 调用其 #onCreate
方法,以便它可以在用户上次离开该活动时重启自身。 <李>
b 空<进程</b> 是一个不承载任何活动或其他应用程序组件 (,如 Service
或 android.content.BroadcastReceiver
>类) 。 当内存不足时,系统会很快终止这些内存。 因此,在活动外部执行的任何后台操作都必须在活动 BroadcastReceiver 或服务的上下文中执行,以确保系统知道它需要保留进程。 </老>
有时,活动可能需要执行独立于活动生命周期本身的长期运行操作。 例如,允许将图片上传到网站的相机应用程序。 上传可能需要很长时间,应用程序应允许用户在执行应用程序时离开该应用程序。 为此,活动应启动一个 Service
在其中进行上传的 。 这样,系统就可以正确确定进程优先级 (考虑到它在上传期间比其他不可见的应用程序) 更重要,与原始活动是暂停、停止还是完成无关。
的 android.app.Activity
Java 文档。
此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。
构造函数
Activity() |
活动是用户可以执行的单一重点操作。 |
Activity(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
字段
AccessibilityService |
使用 和 |
AccountService |
使用 和 |
ActivityService |
使用 和 |
AlarmService |
使用 和 |
AppOpsService |
使用 和 |
AppSearchService |
使用 和 |
AppwidgetService |
使用 和 |
AudioService |
使用 和 |
BatteryService |
使用 和 |
BindAllowActivityStarts |
已过时.
标志 |
BindExternalServiceLong |
的工作方式与 相同 |
BindNotPerceptible |
已过时.
标志 |
BindSharedIsolatedProcess |
已过时.
标志 |
BiometricService |
与 配合使用 |
BlobStoreService |
使用 和 |
BluetoothService |
使用 和 |
BugreportService |
用于捕获 bug 报告的服务。 (继承自 Context) |
CameraService |
使用 来 |
CaptioningService |
使用 和 |
CarrierConfigService |
使用 和 |
ClipboardService |
使用 和 |
CompanionDeviceService |
使用 和 |
ConnectivityDiagnosticsService |
使用 和 |
ConnectivityService |
使用 和 |
ConsumerIrService |
使用 和 |
CredentialService |
使用 和 |
CrossProfileAppsService |
使用 和 |
DeviceIdDefault |
默认设备 ID,即主 (非虚拟) 设备的 ID。 (继承自 Context) |
DeviceIdInvalid |
设备 ID 无效。 (继承自 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 |
获取与此上下文关联的设备 ID。 (继承自 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 |
返回当前进程的main线程的 Looper。 (继承自 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 支持 Mono for Android 基础结构,不应直接从代码使用。 |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不应直接从代码使用。 |
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) |
活动是用户可以执行的单一重点操作。 |