Most visited

Recently visited

ActivityCompat

public class ActivityCompat
extends ContextCompat

java.lang.Object
   ↳ android.support.v4.content.ContextCompat
     ↳ android.support.v4.app.ActivityCompat
Known Direct Subclasses


Helper用于访问以向后兼容的方式在API级别4之后引入的 Activity功能。

Summary

Nested classes

interface ActivityCompat.OnRequestPermissionsResultCallback

该接口是用于接收许可请求结果的合同。

Public constructors

ActivityCompat()

Public methods

static void finishAffinity(Activity activity)

完成此活动,并尝试完成当前任务中具有相同关联性的所有活动。

static void finishAfterTransition(Activity activity)

反转活动场景条目转换并触发调用活动以反转其退出转换。

Uri getReferrer(Activity activity)

向后兼容 Activity.getReferrer实现。

static boolean invalidateOptionsMenu(Activity activity)

如果能够使活动的选项菜单无效。

static void postponeEnterTransition(Activity activity)
static void requestPermissions(Activity activity, String[] permissions, int requestCode)

请求授予此应用程序的权限。

static void setEnterSharedElementCallback(Activity activity, SharedElementCallback callback)

当使用 makeSceneTransitionAnimation(Activity, android.view.View, String)启动Activity时,将调用 回调来处理 启动的 Activity上的共享元素。

static void setExitSharedElementCallback(Activity activity, SharedElementCallback callback)

当使用 makeSceneTransitionAnimation(Activity, android.view.View, String)启动Activity时,将调用 回调来处理 启动 Activity上的共享元素。

static boolean shouldShowRequestPermissionRationale(Activity activity, String permission)

获取是否应该以请求许可的理由显示UI。

static void startActivity(Activity activity, Intent intent, Bundle options)

如果可以,请使用其他启动信息启动活动。

static void startActivityForResult(Activity activity, Intent intent, int requestCode, Bundle options)

如果可以的话,用选项开始新的活动,完成后你会想要结果。

static void startIntentSenderForResult(Activity activity, IntentSender intent, int requestCode, Intent fillInIntent, int flagsMask, int flagsValues, int extraFlags, Bundle options)

使用选项启动新的IntentSender(如果有的话),完成后需要结果。

static void startPostponedEnterTransition(Activity activity)

Inherited methods

From class android.support.v4.content.ContextCompat
From class java.lang.Object

Public constructors

ActivityCompat

ActivityCompat ()

Public methods

finishAffinity

void finishAffinity (Activity activity)

完成此活动,并尝试完成当前任务中具有相同关联性的所有活动。

在Android 4.1+上调用此方法将调用此方法的本地版本。 对于其他平台finish()将被调用。

Parameters
activity Activity

finishAfterTransition

void finishAfterTransition (Activity activity)

反转活动场景条目转换并触发调用活动以反转其退出转换。 退出转换完成时, finish() 如果没有使用转换,则立即调用finish()并运行活动出口转换。

在Android 4.4或更低版本中,此方法仅完成Activity而不进行特殊的退出转换。

Parameters
activity Activity

getReferrer

Uri getReferrer (Activity activity)

向后兼容Activity.getReferrer实现。 如果可用,则使用平台的实现,否则只能退回到从活动意图挖掘任何明确指定的引用者。

Parameters
activity Activity
Returns
Uri

invalidateOptionsMenu

boolean invalidateOptionsMenu (Activity activity)

如果能够使活动的选项菜单无效。

在API级别11(Android 3.0 / Honeycomb)之前,选项菜单的生命周期主要由用户对硬件菜单键的操作来控制。 当用户首次按下菜单键时,分别通过分别调用onCreateOptionsMenu(android.view.Menu)onPrepareOptionsMenu(android.view.Menu)创建和准备菜单。 随后按下菜单键保持菜单本身的现有实例,并调用onPrepareOptionsMenu(android.view.Menu)以使活动有机会在显示菜单面板之前在上下文中更改菜单。

在Android 3.0及更高版本中,操作栏强制选项菜单尽早构建,以便在活动首次可见时选择显示为操作的项目。 活动方法invalidateOptionsMenu强制整个菜单被销毁并从onCreateOptionsMenu(android.view.Menu)重新创建,提供类似的,但更重的机会来改变菜单的内容。 通常这个功能用来支持碎片的配置变化。

应用程序可能会使用此支持帮助程序来指示活动状态的重大更改,这会导致重新生成选项菜单。 如果应用程序在不支持菜单失效的较旧平台版本上运行,则下次用户按下菜单键时该应用程序仍会收到onPrepareOptionsMenu(android.view.Menu) ,此方法将返回false。 如果此方法返回true,则选项菜单已成功失效。

Parameters
activity Activity: Invalidate the options menu of this activity
Returns
boolean true if this operation was supported and it completed; false if it was not available.

postponeEnterTransition

void postponeEnterTransition (Activity activity)

Parameters
activity Activity

requestPermissions

void requestPermissions (Activity activity, 
                String[] permissions, 
                int requestCode)

请求授予此应用程序的权限。 这些权限必须在您的清单中请求,它们不应被授予您的应用程序,并且它们应该具有保护级别#PROTECTION_DANGEROUS dangerous ,而不管它们是由平台还是由第三方应用程序声明。

如果在清单中请求,则在安装时授予普通权限PROTECTION_NORMAL 签名权限PROTECTION_SIGNATURE在安装时根据清单中的请求被授予,并且您的应用的签名与声明权限的应用的签名匹配。

如果您的应用程序没有请求的权限,用户将看到用户界面接受它们。 在用户接受或拒绝了所请求的权限后,您将收到一个回调报告,该权限是否被授予。 您的活动必须执行ActivityCompat.OnRequestPermissionsResultCallback ,并将权限请求的结果传递给其onRequestPermissionsResult(int, String[], int[])方法。

请注意,请求权限并不能保证它将被授予,并且您的应用程序应该能够在没有此权限的情况下运行。

此方法可能会启动一项活动,允许用户选择授予哪些权限以及拒绝哪些权限。 因此,您应该准备好您的活动可能会暂停并恢复。 此外,授予某些权限可能需要重新启动应用程序。 在这种情况下,系统会在将结果传递给onRequestPermissionsResult(int,String [],int [])之前重新创建活动堆栈。

在检查您是否有权 checkSelfPermission(android.content.Context, String)您应该使用 checkSelfPermission(android.content.Context, String)

调用此API以获得已授予您应用程序的权限将向用户显示UI,以决定应用程序是否仍可以拥有这些权限。 如果您的应用程序使用受权限更改保护的数据的方式显着,这可能很有用。

Parameters
activity Activity: The target activity.
permissions String: The requested permissions.
requestCode int: Application specific request code to match with a result reported to onRequestPermissionsResult(int, String[], int[]).

也可以看看:

setEnterSharedElementCallback

void setEnterSharedElementCallback (Activity activity, 
                SharedElementCallback callback)

当使用makeSceneTransitionAnimation(Activity, android.view.View, String)启动Activity时,将调用回调来处理启动的 Activity上的共享元素。 这需要FEATURE_CONTENT_TRANSITIONS

Parameters
activity Activity
callback SharedElementCallback: Used to manipulate shared element transitions on the launched Activity.

setExitSharedElementCallback

void setExitSharedElementCallback (Activity activity, 
                SharedElementCallback callback)

当使用makeSceneTransitionAnimation(Activity, android.view.View, String)启动Activity时,将调用回调来处理启动 Activity上的共享元素。 大多数电话只会在从启动的活动返回时才会发生。 这需要FEATURE_CONTENT_TRANSITIONS

Parameters
activity Activity
callback SharedElementCallback: Used to manipulate shared element transitions on the launching Activity.

shouldShowRequestPermissionRationale

boolean shouldShowRequestPermissionRationale (Activity activity, 
                String permission)

获取是否应该以请求许可的理由显示UI。 只有当您没有权限时,您才应该执行此操作,并且请求权限的上下文未明确向用户传达授予此权限的好处。

例如,如果您编写摄像头应用程序,用户就需要请求摄像头权限,并且不需要为什么要求摄像头。 然而,如果应用程序需要位置来标记照片,那么非技术精明的用户可能想知道位置如何与拍照相关。 在这种情况下,您可以选择以请求此权限的理由显示UI。

Parameters
activity Activity: The target activity.
permission String: A permission your app wants to request.
Returns
boolean Whether you can show permission rationale UI.

也可以看看:

startActivity

void startActivity (Activity activity, 
                Intent intent, 
                Bundle options)

如果可以,请使用其他启动信息启动活动。

在Android 4.1+中引入了更多选项,以便更好地控制活动启动动画。 应用程序可以使用此方法以及ActivityOptionsCompat在可用时使用这些动画。 当在不存在此功能的平台版本上运行时,活动将正常启动。

Parameters
activity Activity: Context to launch activity from.
intent Intent: The description of the activity to start.
options Bundle: Additional options for how the Activity should be started. May be null if there are no options. See ActivityOptionsCompat for how to build the Bundle supplied here; there are no supported definitions for building it manually.

startActivityForResult

void startActivityForResult (Activity activity, 
                Intent intent, 
                int requestCode, 
                Bundle options)

如果可以的话,用选项开始新的活动,完成后你会想要结果。

在Android 4.1+中引入了更多选项,以便更好地控制活动启动动画。 应用程序可以使用此方法以及ActivityOptionsCompat在可用时使用这些动画。 当在不存在此功能的平台版本上运行时,活动将正常启动。

Parameters
activity Activity: Origin activity to launch from.
intent Intent: The description of the activity to start.
requestCode int: If >= 0, this code will be returned in onActivityResult() when the activity exits.
options Bundle: Additional options for how the Activity should be started. May be null if there are no options. See ActivityOptionsCompat for how to build the Bundle supplied here; there are no supported definitions for building it manually.

startIntentSenderForResult

void startIntentSenderForResult (Activity activity, 
                IntentSender intent, 
                int requestCode, 
                Intent fillInIntent, 
                int flagsMask, 
                int flagsValues, 
                int extraFlags, 
                Bundle options)

使用选项启动新的IntentSender(如果有的话),完成后需要结果。

在Android 4.1+中引入了更多选项,以便更好地控制活动启动动画。 应用程序可以使用此方法以及ActivityOptionsCompat在可用时使用这些动画。 当在不存在此功能的平台版本上运行时,活动将正常启动。

Parameters
activity Activity: Origin activity to launch from.
intent IntentSender: The IntentSender to launch.
requestCode int: If >= 0, this code will be returned in onActivityResult() when the activity exits.
fillInIntent Intent: If non-null, this will be provided as the intent parameter to sendIntent(Context, int, Intent, IntentSender.OnFinished, Handler).
flagsMask int: Intent flags in the original IntentSender that you would like to change.
flagsValues int: Desired values for any bits set in flagsMask
extraFlags int: Always set to 0.
options Bundle: Additional options for how the Activity should be started. May be null if there are no options. See ActivityOptionsCompat for how to build the Bundle supplied here; there are no supported definitions for building it manually.
Throws
IntentSender.SendIntentException

startPostponedEnterTransition

void startPostponedEnterTransition (Activity activity)

Parameters
activity Activity

Hooray!