public class FragmentCompat
extends Object
java.lang.Object | |
↳ | android.support.v13.app.FragmentCompat |
Helper用于访问在向后兼容的API级别13之后引入的 Fragment
功能。
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) 如果在适当版本的平台上运行,请致电 |
static void |
setUserVisibleHint(Fragment f, boolean deferStart) 如果在适当版本的平台上运行,请致电 |
static boolean |
shouldShowRequestPermissionRationale(Fragment fragment, String permission) 获取是否应该以请求许可的理由显示UI。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
FragmentCompat ()
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[]) . |
void setMenuVisibility (Fragment f, boolean visible)
如果在适当版本的平台上运行,请致电 Fragment.setMenuVisibility(boolean)
。
Parameters | |
---|---|
f |
Fragment
|
visible |
boolean
|
void setUserVisibleHint (Fragment f, boolean deferStart)
如果在适当版本的平台上运行,请致电 setUserVisibleHint(boolean)
。
Parameters | |
---|---|
f |
Fragment
|
deferStart |
boolean
|
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. |