我可以在Xamarin.Forms中使用OpenUrl为Safari创建一个白名单吗?

时间:2017-09-08 20:18:30

标签: safari xamarin.ios uiwebview xamarin.forms openurl

我正在使用Xamarin.Forms作为容器应用程序进行项目。此应用包含多个链接到受限制的Web内容的Web视图。其中一个链接我们的Sharepoint网站。 Sharepoint网站有一个链接,允许我们的用户访问第三方网站(Cornerstone)查看培训视频。使用库存UIWebView,WKWebView或SFSafariViewController时,不会显示显示视频的弹出窗口。我可以在我的应用中播放此视频的唯一方法是使用OpenURL在Safari中打开Sharepoint网站。问题是,这是一个企业解决方案,我们不希望让员工在浏览器中自由统治。
有没有办法创建白名单或控制搜索栏或读取他们链接到的URL并阻止它或重定向用户?

1 个答案:

答案 0 :(得分:0)

不幸的是,由于它将应用程序外部的网址导航整理出来,您可以在应用内部做很多事情来限制他们在事后做的事情,' openURL&#39 ;只返回一个布尔值,表示它的成功,你可以发送给它的唯一参数是:

  
      
  • application - 参考此应用程序   (UIApplication.SharedApplication)。

  •   
  • url - 由NS指定的NSUrl   调用应用程序

  •   
  • sourceApplication - 调用的包ID   应用。

  •   
  • 注释 - 由传递的可选属性列表数据   致电申请。

  •   

如果您覆盖' openURL&#39>,则只能访问这些内容。您的AppDelegate.cs中的方法' class,您可以将一组选项作为覆盖传递,但是这些选项中没有一个允许您限制用户在浏览器打开后执行的操作。

如果使用像meraki'这样的设备来管理设备。或者其他一些软件来控制托管设备的使用,那么你可能会设置一个组策略'然而,这些限制并不是真正的Xamarin问题,应该与网络管理员讨论。

话虽这么说,但我没有看到您无法使用WebView 1 的任何理由,这样您就可以在应用程序中处理所有内容。或者替代使用自定义渲染器并传入直接视频网址并承诺打开设备媒体播放器以流式传输内容 2

1 Playing videos in WebView

2 Using the media manager plugin.

相关问题