C# 如何显示自定义权限消息
我想向用户显示自定义消息以获得应用权限。我正在使用C# 如何显示自定义权限消息,c#,xamarin.forms,C#,Xamarin.forms,我想向用户显示自定义消息以获得应用权限。我正在使用Plugin.Permissions获取应用程序权限。当我运行当前代码并运行应用程序时,此弹出消息显示允许{App Name}访问此设备位置?。下面是我目前正在使用的函数 public static async Task<bool> GetPermissions() { bool permissionsGranted = true; var permissionsStartList = new List<Per
Plugin.Permissions
获取应用程序权限。当我运行当前代码并运行应用程序时,此弹出消息显示允许{App Name}访问此设备位置?
。下面是我目前正在使用的函数
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;
}
公共静态异步任务GetPermissions()
{
bool permissionsGranted=true;
var permissionsStartList=新列表()
{
许可,地点,
允许,摄像机
};
var PermissionsNeedList=新列表();
尝试
{
foreach(permissionsStartList中的var权限)
{
var status=await CrossPermissions.Current.CheckPermissionStatusAsync(权限);
if(status!=PermissionStatus.grated)
{
PermissionsNeedList.Add(权限);
}
}
}
捕获(例外情况除外)
{
}
var results=await CrossPermissions.Current.RequestPermissionsAsync(permissionsNeedList.ToArray());
尝试
{
foreach(权限需求列表中的var权限)
{
var状态=许可状态。未知;
//始终检查密钥是否存在的最佳实践
if(结果。容器(许可))
状态=结果[权限];
如果(状态==PermissionStatus.grated | |状态==PermissionStatus.Unknown)
{
permissionsGranted=真;
}
其他的
{
permissionsGranted=false;
打破
}
}
}
捕获(例外情况除外)
{
}
返回许可证;
}
感谢您的帮助和评论遗憾的是,无法自定义权限对话框中的文本 这些是系统对话框,应用程序无法控制其内容 引自 当您的应用程序从checkSelfPermission()接收到权限被拒绝时,您需要提示用户获取该权限。Android提供了几种可用于请求权限的方法,如requestPermissions(),如下面的代码段所示调用这些方法会弹出一个标准的Android对话框,您无法自定义该对话框。 向用户显示的方式取决于设备的Android版本以及应用程序的目标版本,如权限概述所述。
遗憾的是,无法自定义权限对话框中的文本 这些是系统对话框,应用程序无法控制其内容 引自 当您的应用程序从checkSelfPermission()接收到权限被拒绝时,您需要提示用户获取该权限。Android提供了几种可用于请求权限的方法,如requestPermissions(),如下面的代码段所示调用这些方法会弹出一个标准的Android对话框,您无法自定义该对话框。 向用户显示的方式取决于设备的Android版本以及应用程序的目标版本,如权限概述所述。
在iOS中,您可以自己更改描述,您可以参考。但是,您不能更改消息的标题,因为它是由系统定义的。在iOS中,您可以自己更改描述,您可以参考。但是,您不能更改消息的标题,因为它是由系统定义的。