我想向用户显示自定义消息以获取应用许可。我正在使用Plugin.Permissions
来获得App权限。当我运行当前代码并运行应用程序时,此弹出消息将显示Allow {App Name} to access this device location?
。以下是我目前正在使用的功能。
public static async Task<bool> GetPermissions()
{
bool permissionsGranted = true;
var permissionsStartList = new List<Permission>()
{
Permission.Location,
Permission.Camera
};
var permissionsNeededList = new List<Permission>();
try
{
foreach (var permission in permissionsStartList)
{
var status = await CrossPermissions.Current.CheckPermissionStatusAsync(permission);
if (status != PermissionStatus.Granted)
{
permissionsNeededList.Add(permission);
}
}
}
catch (Exception ex)
{
}
var results = await CrossPermissions.Current.RequestPermissionsAsync(permissionsNeededList.ToArray());
try
{
foreach (var permission in permissionsNeededList)
{
var status = PermissionStatus.Unknown;
//Best practice to always check that the key exists
if (results.ContainsKey(permission))
status = results[permission];
if (status == PermissionStatus.Granted || status == PermissionStatus.Unknown)
{
permissionsGranted = true;
}
else
{
permissionsGranted = false;
break;
}
}
}
catch (Exception ex)
{
}
return permissionsGranted;
}
感谢您的帮助和评论
答案 0 :(得分:2)
遗憾的是,无法自定义权限对话框中的文本。
这些是系统对话框,该应用无法控制其内容。
引用https://developer.android.com/training/permissions/requesting#perm-request
当您的应用从checkSelfPermission()收到PERMISSION_DENIED时,您需要提示用户该权限。 Android提供了几种可用于请求权限的方法,例如requestPermissions(),如下面的代码片段所示。 调用这些方法会弹出一个标准的Android对话框,您无法对其进行自定义。
显示给用户的方式取决于设备的Android版本以及应用程序的目标版本,如权限概述中所述。