diff --git a/eng/AndroidX.targets b/eng/AndroidX.targets
index b8c67a276737..0fb4ebd68ba8 100644
--- a/eng/AndroidX.targets
+++ b/eng/AndroidX.targets
@@ -61,5 +61,10 @@
Update="Xamarin.AndroidX.Window.WindowJava"
Version="1.0.0.9"
/>
+
+
diff --git a/src/BlazorWebView/src/Maui/Android/AndroidWebKitWebViewManager.cs b/src/BlazorWebView/src/Maui/Android/AndroidWebKitWebViewManager.cs
index 9def544942f8..42138d384be7 100644
--- a/src/BlazorWebView/src/Maui/Android/AndroidWebKitWebViewManager.cs
+++ b/src/BlazorWebView/src/Maui/Android/AndroidWebKitWebViewManager.cs
@@ -4,6 +4,7 @@
using System.Runtime.Versioning;
using System.Threading.Tasks;
using Android.Webkit;
+using AndroidX.WebKit;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.FileProviders;
@@ -16,7 +17,7 @@ namespace Microsoft.AspNetCore.Components.WebView.Maui
/// An implementation of that uses the Android WebKit WebView browser control
/// to render web content.
///
- [SupportedOSPlatform("android23.0")]
+ [SupportedOSPlatform("android21.0")]
internal class AndroidWebKitWebViewManager : WebViewManager
{
// Using an IP address means that WebView doesn't wait for any DNS resolution,
@@ -63,7 +64,7 @@ protected override void NavigateCore(Uri absoluteUri)
///
protected override void SendMessage(string message)
{
- _webview.PostWebMessage(new WebMessage(message), AndroidAppOriginUri);
+ WebViewCompat.PostWebMessage(_webview, new WebMessageCompat(message), AndroidAppOriginUri);
}
internal bool TryGetResponseContentInternal(string uri, bool allowFallbackOnHostPage, out int statusCode, out string statusMessage, out Stream content, out IDictionary headers)
@@ -76,7 +77,7 @@ internal bool TryGetResponseContentInternal(string uri, bool allowFallbackOnHost
internal void SetUpMessageChannel()
{
// These ports will be closed automatically when the webview gets disposed.
- var nativeToJSPorts = _webview.CreateWebMessageChannel();
+ var nativeToJSPorts = WebViewCompat.CreateWebMessageChannel(_webview);
var nativeToJs = new BlazorWebMessageCallback(message =>
{
@@ -87,10 +88,10 @@ internal void SetUpMessageChannel()
nativeToJSPorts[0].SetWebMessageCallback(nativeToJs);
- _webview.PostWebMessage(new WebMessage("capturePort", destPort), AndroidAppOriginUri);
+ WebViewCompat.PostWebMessage(_webview, new WebMessageCompat("capturePort", destPort), AndroidAppOriginUri);
}
- private class BlazorWebMessageCallback : WebMessagePort.WebMessageCallback
+ private class BlazorWebMessageCallback : WebMessagePortCompat.WebMessageCallbackCompat
{
private readonly Action _onMessageReceived;
@@ -99,7 +100,7 @@ public BlazorWebMessageCallback(Action onMessageReceived)
_onMessageReceived = onMessageReceived ?? throw new ArgumentNullException(nameof(onMessageReceived));
}
- public override void OnMessage(WebMessagePort? port, WebMessage? message)
+ public override void OnMessage(WebMessagePortCompat? port, WebMessageCompat? message)
{
if (message is null)
{
@@ -108,6 +109,7 @@ public override void OnMessage(WebMessagePort? port, WebMessage? message)
_onMessageReceived(message.Data);
}
+
}
}
}
diff --git a/src/BlazorWebView/src/Maui/Android/WebKitWebViewClient.cs b/src/BlazorWebView/src/Maui/Android/WebKitWebViewClient.cs
index 0c3536ac46cb..c3f4ef0c9b74 100644
--- a/src/BlazorWebView/src/Maui/Android/WebKitWebViewClient.cs
+++ b/src/BlazorWebView/src/Maui/Android/WebKitWebViewClient.cs
@@ -8,7 +8,7 @@
namespace Microsoft.AspNetCore.Components.WebView.Maui
{
- [SupportedOSPlatform("android23.0")]
+ [SupportedOSPlatform("android21.0")]
internal class WebKitWebViewClient : WebViewClient
{
// Using an IP address means that WebView doesn't wait for any DNS resolution,
diff --git a/src/BlazorWebView/src/Maui/BlazorWebView.cs b/src/BlazorWebView/src/Maui/BlazorWebView.cs
index 8f1dea9ab09b..756f761d8fcf 100644
--- a/src/BlazorWebView/src/Maui/BlazorWebView.cs
+++ b/src/BlazorWebView/src/Maui/BlazorWebView.cs
@@ -51,7 +51,7 @@ public BlazorWebView()
///
#if ANDROID
- [System.Runtime.Versioning.SupportedOSPlatform("android23.0")]
+ [System.Runtime.Versioning.SupportedOSPlatform("android21.0")]
#elif IOS
[System.Runtime.Versioning.SupportedOSPlatform("ios11.0")]
#endif
diff --git a/src/BlazorWebView/src/Maui/BlazorWebViewHandler.cs b/src/BlazorWebView/src/Maui/BlazorWebViewHandler.cs
index 055c52a411d4..f94d30d46c8c 100644
--- a/src/BlazorWebView/src/Maui/BlazorWebViewHandler.cs
+++ b/src/BlazorWebView/src/Maui/BlazorWebViewHandler.cs
@@ -9,7 +9,7 @@
namespace Microsoft.AspNetCore.Components.WebView.Maui
{
#if ANDROID
- [SupportedOSPlatform("android23.0")]
+ [SupportedOSPlatform("android21.0")]
#endif
public partial class BlazorWebViewHandler
{
diff --git a/src/BlazorWebView/src/SharedSource/BlazorWebViewServiceCollectionExtensions.cs b/src/BlazorWebView/src/SharedSource/BlazorWebViewServiceCollectionExtensions.cs
index 65765deacd7a..8accf7146b01 100644
--- a/src/BlazorWebView/src/SharedSource/BlazorWebViewServiceCollectionExtensions.cs
+++ b/src/BlazorWebView/src/SharedSource/BlazorWebViewServiceCollectionExtensions.cs
@@ -30,7 +30,7 @@ public static IWindowsFormsBlazorWebViewBuilder AddWindowsFormsBlazorWebView(thi
public static IWpfBlazorWebViewBuilder AddWpfBlazorWebView(this IServiceCollection services)
#elif WEBVIEW2_MAUI
#if ANDROID
- [System.Runtime.Versioning.SupportedOSPlatform("android23.0")]
+ [System.Runtime.Versioning.SupportedOSPlatform("android21.0")]
#elif IOS
[System.Runtime.Versioning.SupportedOSPlatform("ios11.0")]
#endif