-2
我有应用程序的MainActivity这个样子,而这个应用程序无法下载文件,webview
的Andriod应用程序的WebView下载
任何人知道如何解决下载问题?
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Webkit;
namespace REC
{
[Activity(Label = "APPNAME", MainLauncher = true, Icon = "@drawable/rec512", ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation | Android.Content.PM.ConfigChanges.ScreenSize)]
public class MainActivity : Activity
{
private WebView mWebView;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
RequestWindowFeature(WindowFeatures.NoTitle);
SetContentView(Resource.Layout.Main);
mWebView = FindViewById<WebView>(Resource.Id.webview);
mWebView.Settings.SetRenderPriority(WebSettings.RenderPriority.High);
mWebView.Settings.JavaScriptEnabled = true;
mWebView.LoadUrl("http://www.APPname.com");
mWebView.SetWebViewClient(new WebViewClient());
// mWebView.SetDownloadListener(new MyDownloadListener()
}
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = (WebRequest)base.GetWebRequest(address);
// Perform any customizations on the request.
// This version of WebClient always preauthenticates.
request.PreAuthenticate = true;
return request;
}
class MonkeyWebChromeClient : WebChromeClient
{
public override bool OnJsAlert(WebView view, string url, string message, JsResult result)
{
return base.OnJsAlert(view, url, message, result);
}
public override Boolean OnJsConfirm(WebView view, String url, String message, JsResult result)
{
return base.OnJsConfirm(view, url, message, result);
}
public override Boolean OnJsPrompt(WebView view, String url, String message, String defaultValue, JsPromptResult result)
{
return base.OnJsPrompt(view, url, message, defaultValue, result);
}
}
public override bool OnKeyDown(Keycode keyCode, KeyEvent e)
{
if (keyCode == Keycode.Back && mWebView.CanGoBack())
{
mWebView.GoBack();
return true;
}
return base.OnKeyDown(keyCode, e);
}
}
public class WebClient : WebViewClient
{
public override bool ShouldOverrideUrlLoading(WebView view, string url)
{
//return base.ShouldOverrideUrlLoading(view, url);
view.LoadUrl(url);
return true;
}
internal object GetWebRequest(Uri address)
{
throw new NotImplementedException();
}
}
}
感谢你的答案,我会尝试。 – Y2H
嗨,我添加的代码,它的工作原理,但打开一个浏览器,而不是在web视图中,是可以在webview中打开它? – Y2H
@Mile Ma你知道如何在webview中下载文件吗? – Y2H