public class PermissionsServices extends ApplicationContextProvider
此类中的所有方法都是线程安全的,可以从任何线程调用。
添加于 每日构建版本 2016.2828.
ApplicationContextProvider
修饰符和类型 | 类和说明 |
---|---|
静态类 |
PermissionsServices.Permission
Corona 支持的危险 Android 权限的 API 级别独立常量,按权限组排序。
|
静态类 |
PermissionsServices.PermissionGroup
支持的权限组名称的 API 级别独立常量。
|
构造器和说明 |
---|
PermissionsServices(android.content.Context context)
创建一个提供对应用程序权限轻松访问的对象。
|
getApplicationContext
public PermissionsServices(android.content.Context context)
context
- 对 Android 创建的上下文的引用,用于访问输入设备系统。注意: 将此设置为 null 将导致抛出异常。public String[] findAllPermissionsInManifestForGroup(String permissionGroup)
permissionGroup
- 我们正在查找其存在的权限组。如果所需权限组中没有权限在 AndroidManifest.xml 中,或者我们处于无效环境中,则返回 null。
public String findPermissionInManifestForGroup(String permissionGroup)
permissionGroup
- 我们正在查找其存在的权限组。如果所需权限组中没有权限在 AndroidManifest.xml 中,或者我们处于无效环境中,则返回 null。
public PermissionState getPermissionStateFor(String permission)
permission
- 我们想要获取其当前状态的权限。PermissionState 枚举
,描述所需权限所处的状态。如果我们处于无效环境中,则返回 null。
public PermissionState getPermissionStateForSupportedGroup(String permissionGroup)
permissionGroup
- 我们想要获取其当前状态的权限组。PermissionState 枚举
。如果该组中所有请求的权限都被授予,则返回 PermissionState.GRANTED
。
如果所需权限组中任何请求的权限被拒绝,则此方法将返回 PermissionState.DENIED
。
如果 Corona 或此版本的 Android 不支持此权限组,则返回 PermissionState.MISSING
。
如果我们处于无效环境中,则返回 null。
public String getPermissionGroupFromPermission(String permission)
permission
- 我们想要获取其组的权限。如果此权限不属于任何组,在此设备上未定义,或者我们处于无效环境中,则返回 null。
public String getPermissionGroupFromPAAppPermissionName(String pAAppPermissionName)
pAAppPermissionName
- 要转换为权限组名称的平台无关应用程序权限名称。如果此平台无关应用程序权限没有权限组,则返回 null。
public String getPAAppPermissionNameFromPermissionGroup(String permissionGroup)
permissionGroup
- 要转换为平台无关应用程序权限名称的权限组名称。如果此权限组名称没有平台无关应用程序权限名称,则返回 null。
public String getPAAppPermissionNameFromAndroidPermission(String permission)
permission
- 要转换为平台无关应用程序权限名称的 Android 权限。如果此 Android 权限没有平台无关应用程序权限,则返回 null。
public String[] getRequestedPermissions()
String
数组,其中每个元素是的名称。如果在 AndroidManifest.xml 中没有
public String[] getRequestedPermissionsInState(PermissionState permissionState)
注意:“请求的权限”是在 AndroidManifest.xml 中定义的。因此,使用参数 "PermissionState.MISSING"
调用此方法是无效的。
permissionState
- 与我们希望获取的请求权限的状态相对应的 PermissionState
。String
数组。如果给定无效参数、处于无效环境中或无法从 Android PackageManager 获取 PackageInfo,则返回 null。
public String[] getRequestedPermissionsInStateForGroup(PermissionState permissionState, String permissionGroup)
注意:“请求的权限”是在 AndroidManifest.xml 中定义的。因此,使用参数 "PermissionState.MISSING"
调用此方法是无效的。
permissionState
- 与我们希望获取的请求权限的状态相对应的 PermissionState
。permissionGroup
- 我们想要获取 AndroidManifest.xml 中所有 Android 权限的权限组。String
数组,其中包含所需权限组中所有处于所需状态的请求权限。如果给定无效参数、处于无效环境中或无法从 Android PackageManager 获取 PackageInfo,则返回 null。
public String[] getSupportedPermissionGroups()
String
数组,其中包含 Corona 支持的所有危险级别权限组。public boolean isPartOfPAAppPermission(String permission)
permission
- 要检查的 Android 权限。public boolean isPAAppPermissionName(String name)
name
- 我们正在检查的名称。public boolean isSupportedPermissionGroupName(String name)
name
- 我们正在检查的名称。public boolean isPermissionInManifest(String permission)
permission
- 我们正在查找的 Android 权限。public final void requestPermissions(PermissionsSettings settings, CoronaActivity.OnRequestPermissionsResultHandler resultHandler)
settings
- 此请求使用的 PermissionsSettings
。不能为空!resultHandler
- 将用于处理此权限请求的 OnRequestPermissionsResultHandler
。public void requestAllDeniedPermissionsInGroup(String permissionGroup, CoronaActivity.OnRequestPermissionsResultHandler resultHandler)
permissionGroup
- 我们想要请求所有被拒绝权限的权限组。resultHandler
- 将用于处理此权限请求的 OnRequestPermissionsResultHandler
。public boolean shouldNeverAskAgain(String permission)
permission
- 我们想知道是否不再请求的 Android 权限。public void showPermissionMissingFromManifestAlert(String permission, String message)
permission
- 缺少的权限的名称。message
- 解释无法执行操作的消息。public void showPermissionGroupMissingFromManifestAlert(String permissionGroup)
permissionGroup
- 没有权限的权限组的名称。