我在我的项目中收到过时的API错误

时间:2019-05-31 14:36:43

标签: java android

在android studio中创建WebView时遇到错误,该错误表明该API已弃用。我正在添加文件的代码。我认为这很容易找到,但是我没有android方面的经验,所以我找不到错误。

我已经阅读了有关android / java的更新,但找不到此内容

y

我不应该收到此错误:

bottomNavigationBar: CurvedNavigationBar(
  index: _page,
  height: 55.0,
  items: <Widget>[
    Icon(Icons.info, size: 25,color: Colors.white,),
    Icon(FontAwesomeIcons.hashtag, size: 22,color: Colors.white,),
    Padding(
      padding: const EdgeInsets.only(top:3.0,bottom: 9.0),
      child: Icon(FontAwesomeIcons.briefcaseMedical, size: 26,color: Colors.white,),
    ),
    Icon(FontAwesomeIcons.solidMoon, size: 20,color: Colors.white,),
    Icon(Icons.account_circle, size: 25,color: Colors.white,),
  ],
  color: Colors.cyan,
  buttonBackgroundColor: Colors.pink,
  backgroundColor: Colors.white,
  animationCurve: Curves.easeInOut,
  animationDuration: Duration(milliseconds: 200),
  onTap: (index) {
    setState(() {
      _page = index;
    });
  },
),

3 个答案:

答案 0 :(得分:2)

您必须使用shouldOverrideUrlLoading(WebView view, WebResourceRequest request)来代替API 24中已弃用的shouldOverrideUrlLoading(WebView view, String url)。 您可以检查文档页面here

答案 1 :(得分:1)

错误是不言自明的。您的班级拥有deprected方法shouldOverrideUrlLoading。如果您不知道这是什么意思,则以下任一链接都可以帮助您理解。 Is it wrong to use Deprecated methods or classes in Java? What does it mean for a method to be deprecated?

一些建议的解决方案:

  1. 从本质上讲,您可以通过添加错误-Xlint:deprecation中指定的jvm参数来克服此错误。
  2. 如果这样做没有帮助,则可以指示已使用@Deprecated批注弃用了JVM明确的指令方法。
  3. 将jdk / jre(Jvm)降低到尚未弃用该方法的版本
  4. 正确的解决方案是通过删除不推荐使用的方法来更新您的代码,并将其替换为关联的替代方法。

答案 2 :(得分:0)

我认为这与以下行有关:

webSettings.setJavaScriptEnabled(true);

函数'setJavaScriptEnabled'似乎已被弃用。