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!