Most visited

Recently visited

FragmentCompat

public class FragmentCompat
extends Object

java.lang.Object
   ↳ android.support.v13.app.FragmentCompat


Helper用于访问在向后兼容的API级别13之后引入的 Fragment功能。

Summary

Nested classes

interface FragmentCompat.OnRequestPermissionsResultCallback

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

Public constructors

FragmentCompat()

Public methods

static void requestPermissions(Fragment fragment, String[] permissions, int requestCode)

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

static void setMenuVisibility(Fragment f, boolean visible)

如果在适当版本的平台上运行,请致电 Fragment.setMenuVisibility(boolean) 。

static void setUserVisibleHint(Fragment f, boolean deferStart)

如果在适当版本的平台上运行,请致电 setUserVisibleHint(boolean) 。

static boolean shouldShowRequestPermissionRationale(Fragment fragment, String permission)

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

Inherited methods

From class java.lang.Object

Public constructors

FragmentCompat

FragmentCompat ()

Public methods

requestPermissions

void requestPermissions (Fragment fragment, 
                String[] permissions, 
                int requestCode)

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

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

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

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

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

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

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

也可以看看:

setMenuVisibility

void setMenuVisibility (Fragment f, 
                boolean visible)

如果在适当版本的平台上运行,请致电 Fragment.setMenuVisibility(boolean) 。

Parameters
f Fragment
visible boolean

setUserVisibleHint

void setUserVisibleHint (Fragment f, 
                boolean deferStart)

如果在适当版本的平台上运行,请致电 setUserVisibleHint(boolean) 。

Parameters
f Fragment
deferStart boolean

shouldShowRequestPermissionRationale

boolean shouldShowRequestPermissionRationale (Fragment fragment, 
                String permission)

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

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

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

也可以看看:

Hooray!