несколько месяцев назад у меня был пользовательский рендерер Xamarin.Android для веб-просмотра, основанный на примере кода в https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/hybridwebview
Код Javascript прекрасно вызывал мой код C #, однако недавно, после последних обновлений, элемент управления WebViewбольше не в состоянии вызывать действие C # (точнее, если я нацеливаюсь на Android 9.0 (уровень API 28) или выше) с использованием уровня API 27, все еще работает нормально
, после более подробного изучения я выяснилто, что компилятор выдает предупреждение на [JavascriptInterface], устарело! https://docs.microsoft.com/en-us/dotnet/api/android.webkit.javascriptinterface?view=xamarin-android-sdk-9 и они посоветовали использовать вместо этого (IJavascriptInterface)
вот код, который нужно просмотреть
[JavascriptInterface]
[Export ("invokeAction")]
public void InvokeAction (string data)
{
HybridWebViewRenderer hybridRenderer;
if (hybridWebViewRenderer != null && hybridWebViewRenderer.TryGetTarget (out hybridRenderer))
{
hybridRenderer.Element.InvokeAction (data);
}
}
Кто-нибудь знает, как правильно реализовать это, чтобы исправить это иполучить Javascript, чтобы снова вызвать мой код C #.