小编Abd*_*dul的帖子

Xamarin.Android 中的 JavascriptInterface 已过时,无法从 Javascript 调用 C#

几个月前,我有一个基于 https://learn.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/hybridwebview中的示例代码的 Webview 自定义 Xamarin.Android 渲染器

Javascript 代码完美地调用了我的 C# 代码,但是最近在最新更新之后,WebView 控件不再能够使用 API 调用 C# 操作(更准确地说,如果我的目标是 Android 9.0(API 级别 28)或更高版本) 27级还是可以的

经过更多调查后,我发现编译器会发出关于 [JavascriptInterface] 已过时的警告! https://learn.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);
    }
}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何正确实现此问题来修复该问题并让 Javascript 再次调用我的 C# 代码。

custom-renderer xamarin.android xamarin

3
推荐指数
1
解决办法
2481
查看次数

标签 统计

custom-renderer ×1

xamarin ×1

xamarin.android ×1