C# 如何在专用浏览器xamarin表单中打开URL
我想在手机/平板电脑浏览器中打开一个url,需要私人浏览,因为某些url需要sigin。我不想把饼干留下。有什么办法吗 现在,我正在使用以下代码打开浏览器: Device.OpenUri(新Uri(“”)C# 如何在专用浏览器xamarin表单中打开URL,c#,android,ios,xamarin.forms,C#,Android,Ios,Xamarin.forms,我想在手机/平板电脑浏览器中打开一个url,需要私人浏览,因为某些url需要sigin。我不想把饼干留下。有什么办法吗 现在,我正在使用以下代码打开浏览器: Device.OpenUri(新Uri(“”) 您可以创建一个活动,在其中只显示web浏览器。 当该活动破坏时,即 void onDestory(){ // remove cookie CookieSyncManager.createInstance(this); CookieManager cookieManage
您可以创建一个活动,在其中只显示web浏览器。 当该活动破坏时,即
void onDestory(){
// remove cookie
CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookies(callback);
}
删除所有Cookie您将希望创建一个接口(例如:
IWebHelper
)。在IWebHelper
中添加以下单一方法:
public void DeleteAllCookies();
在Android和iOS中,创建WebHelper
并实现DeleteAllCookies()
方法,如下所示:
iOS:
安卓:
/// <summary>
/// Deletes all cookies stored in the CookieManager on Android.
/// </summary>
public void DeleteAllCookies() {
if(_cookieManager.HasCookies) {
if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) {
_cookieManager.RemoveAllCookies(null);
} else { _cookieManager.RemoveAllCookie(); }
}
}
//
///删除Android上CookieManager中存储的所有cookie。
///
public void DeleteAllCookies(){
如果(_cookieManager.hascokies){
如果(Build.VERSION.SdkInt>=BuildVersionCodes.Lollipop){
_cookieManager.RemoveAllCookies(空);
}else{u cookieManager.RemoveAllCookie();}
}
}
不太清楚Windows Phone。我认为没有办法在私人模式(iOS)或匿名模式(Android)下启动浏览器。因此,解决方法是在使用
WebView
后,使用以下答案之一清理cookies。以不同方式处理棒棒糖和更高版本的原因是什么?@Ethan Android有许多API在更高版本中引入或在更高版本中不推荐,因此需要您运行不同的方法取决于版本CookieManager.RemoveAllCookies()就是这样一种方法。如果您转到,您将看到一条消息,说明它在API 21中已被弃用,并建议传入回调的版本。您还可以在它的正下方看到,直到API 21才引入该方法的回调版本
/// <summary>
/// Deletes all cookies stored in the CookieManager on Android.
/// </summary>
public void DeleteAllCookies() {
if(_cookieManager.HasCookies) {
if (Build.VERSION.SdkInt >= BuildVersionCodes.Lollipop) {
_cookieManager.RemoveAllCookies(null);
} else { _cookieManager.RemoveAllCookie(); }
}
}