public class PermissionsServices extends ApplicationContextProvider
此类中的所有方法都是线程安全的,可以从任何线程调用。
添加于 每日构建版本 2016.2828.
ApplicationContextProvider
修饰符和类型 | 类和说明 |
---|---|
静态类 |
PermissionsServices.Permission
Corona 支持的危险 Android 权限的 API 级别无关常量,按权限组排序。
|
静态类 |
PermissionsServices.PermissionGroup
支持的权限组名称的 API 级别无关常量。
|
构造器和说明 |
---|
PermissionsServices(android.content.Context context)
创建一个提供对应用程序权限轻松访问的对象。
|
修饰符和类型 | 方法和说明 |
---|---|
String[] |
findAllPermissionsInManifestForGroup(String permissionGroup)
在 AndroidManifest.xml 中搜索所需权限组内的所有权限。
|
String |
findPermissionInManifestForGroup(String permissionGroup)
在 AndroidManifest.xml 中搜索所需权限组内的权限。
|
String |
getPAAppPermissionNameFromAndroidPermission(String permission)
获取给定 Android 权限的平台无关应用程序权限名称。
|
String |
getPAAppPermissionNameFromPermissionGroup(String permissionGroup)
获取给定权限组名称的平台无关应用程序权限名称。
|
String |
getPermissionGroupFromPAAppPermissionName(String pAAppPermissionName)
获取给定平台无关应用程序权限名称的权限组名称。
|
String |
getPermissionGroupFromPermission(String permission)
获取所需权限的权限组。
|
PermissionState |
getPermissionStateFor(String permission)
确定所需权限的当前状态并返回它。
|
PermissionState |
getPermissionStateForSupportedGroup(String permissionGroup)
确定 Corona 支持的所需权限组的当前状态并返回它。
|
String[] |
getRequestedPermissions()
获取 AndroidManifest.xml 中所有请求的权限。
|
String[] |
getRequestedPermissionsInState(PermissionState permissionState)
获取 AndroidManifest.xml 中处于所需状态的所有请求的权限。
|
String[] |
getRequestedPermissionsInStateForGroup(PermissionState permissionState, String permissionGroup)
获取 AndroidManifest.xml 中处于所需状态的所需权限组的所有请求的权限。
|
String[] |
getSupportedPermissionGroups()
返回一个
String 数组,其中包含 Corona 支持的所有危险级别权限组。 |
boolean |
isPAAppPermissionName(String name)
确定此名称是否与平台无关的应用程序权限名称相对应。
|
boolean |
isPartOfPAAppPermission(String permission)
确定此 Android 权限是否是平台无关应用程序权限的一部分。
|
boolean |
isPermissionInManifest(String permission)
确定所需的 Android 权限是否在 AndroidManifest.xml 中。
|
boolean |
isSupportedPermissionGroupName(String name)
确定此名称是否与 Corona 支持的危险级别 Android 权限组的名称相对应。
|
void |
requestAllDeniedPermissionsInGroup(String permissionGroup, com.ansca.corona.CoronaActivity.OnRequestPermissionsResultHandler resultHandler)
请求当前在所需权限组中被拒绝的所有权限。
|
void |
requestPermissions(PermissionsSettings settings, com.ansca.corona.CoronaActivity.OnRequestPermissionsResultHandler resultHandler)
请求所需的权限,并收集有关请求哪些权限的数据。
|
boolean |
shouldNeverAskAgain(String permission)
确定用户是否已请求不再询问所需权限。
|
void |
showPermissionGroupMissingFromManifestAlert(String permissionGroup)
显示一个原生警报,指出 AndroidManifest.xml 不包含所需权限组中的任何权限。
|
void |
showPermissionMissingFromManifestAlert(String permission, String message)
显示一个原生警报,指出 AndroidManifest.xml 中缺少此权限。
|
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 中找到的每个如果在 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, com.ansca.corona.CoronaActivity.OnRequestPermissionsResultHandler resultHandler)
settings
- 用于此请求的 PermissionsSettings
。不能为空!resultHandler
- 将用于处理此权限请求的 OnRequestPermissionsResultHandler
。public void requestAllDeniedPermissionsInGroup(String permissionGroup, com.ansca.corona.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
- 没有权限的权限组的名称。