当前位置:   article > 正文

Android requestPermissions

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

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

 

如果清单中有请求,则在安装时授予正常权限PROTECTION_NORMAL。如果清单中有请求,则在安装时授予签名权限PROTECTION_SIGNATURE,并且您的应用程序的签名与声明权限的应用程序的签名相匹配。

 

如果您的应用程序没有请求的权限,用户将会看到UI来接受它们。在用户接受或拒绝请求的权限之后,无论是否授予权限,您都将收到一个回调报告。您的活动必须实现ActivityCompat。OnRequestPermissionsResultCallback和权限请求的结果将被传递到它的onRequestPermissionsResult(int, String[], int[])方法。

 

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

 

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

 

当检查您是否有权限时,您应该使用checkSelfPermission(android.content)。背景下,字符串)。

 

调用这个API来获得已经授予应用程序的权限将向用户显示UI,以决定应用程序是否仍然可以持有这些权限。如果您的应用程序使用权限保护的数据的方式发生了显著变化,这将非常有用。

 

如果您的活动在清单中将noHistory设置为true,则不能请求权限,因为在这种情况下,该活动不会接收包括onRequestPermissionsResult(int, String[], int[])在内的结果回调。

 

RuntimePermissions示例应用程序演示了如何使用此方法在运行时请求权限。

Parameters
activityActivity: The target activity.

 

permissionsString: The requested permissions. Must be non-null and not empty.

 

requestCode

int: Application specific request code to match with a result reported to onRequestPermissionsResult(int, String[], int[]). Should be >= 0.

参见:

 

String [] onRequestPermissionsResult (int, int [])

checkSelfPermission (android.content。情况下,字符串)

shouldShowRequestPermissionRationale (android.app。活动中,字符串)

 

转载于:https://my.oschina.net/u/3358860/blog/3030787

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/283711
推荐阅读
相关标签
  

闽ICP备14008679号