如何显示自定义权限消息



我想向用户显示一条自定义消息以获得应用程序权限。我正在使用Plugin.Permissions获得应用程序权限。当我运行当前代码并运行应用程序时,此弹出消息显示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;
}

感谢您的帮助和评论

遗憾的是,没有办法自定义权限对话框中的文本。

这些都是系统对话框,应用程序无法控制它们的内容。

报价来源https://developer.android.com/training/permissions/requesting#perm-请求

当您的应用程序从checkSelfPermission((接收到PERMISSION_DENIED时,您需要提示用户获得该权限。Android提供了几种可以用于请求权限的方法,如requestPermissions((,如下面的代码片段所示调用这些方法会弹出一个标准的Android对话框,您无法自定义该对话框

如何向用户显示取决于设备的Android版本以及应用程序的目标版本,如权限概述中所述

最新更新