如何从xamarin表单中打开应用程序隐私设置

时间:2018-05-02 15:07:24

标签: xamarin.forms cross-platform

尝试打开我的应用设置,以便用户可以看到我的应用所需的权限。 无法找到任何类似的例子。 *

<#list gfpVb.chaines as key,value> 
                   <td>
                   <strong>${key}</strong>                                
                   </td>
                   <td>
                   <strong>${value}</strong>
</#list>

*

2 个答案:

答案 0 :(得分:5)

相当简单,您必须创建特定于平台的实现。

界面

public interface ISettingsHelper
{
    void OpenAppSettings();
}

<强>的iOS

public void OpenAppSettings()
{
    var url = new NSUrl($"app-settings:{app_bundle_id}");
    UIApplication.SharedApplication.OpenUrl(url);
}

<强>的Android

public void OpenAppSettings()
{
    var intent = new Intent(Android.Provider.Settings.ActionApplicationDetailsSettings);
    intent.AddFlags(ActivityFlags.NewTask);
    var uri = Android.Net.Uri.FromParts("package", package_name, null);
    intent.SetData(uri);
    Application.Context.StartActivity(intent);
}

从Xamarin.Forms项目中,您可以简单地调用OpenAppSettings();

P.S。:请记住,如果您希望在旧设备上使用此解决方案,则需要进行调整。

答案 1 :(得分:1)

尝试Device.OpenUri(new Uri("app-settings:"));

如果这不起作用(我认为它已经有一段时间了),您可能必须在平台特定部分中执行此操作并使用例如依赖服务。对于IOS,请使用UIApplication.SharedApplication.OpenUrl(new NSUrl("app-settings:"));

编辑:@ EvZ的答案是具有平台特定代码和抽象的答案,如果你还需要UWP你可以打电话 await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-settings:privacy-location"));