相关疑难解决方法(0)

`shouldOverrideUrlLoading`真的被弃用了吗?我可以用什么呢?

"shouldOverrideUrlLoading"真的被弃用了吗?如果是这样,我可以使用什么呢?

似乎shouldOverrideUrlLoading已经弃用了针对Android N的应用程序,我需要让应用程序自API 19开始工作,直到最新的Android N(测试版),我使用的是Android N中的一些新功能(如Data Saver),因此定位Marshmallow无法解决这个问题,因为我需要使用这些新功能,这是我使用的代码的一部分:

public boolean shouldOverrideUrlLoading(WebView webview, String url) {
    if (url.startsWith("http:") || url.startsWith("https:")) {
        ...
    } else if (url.startsWith("sms:")) {
        ...
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

这是Android Studio给我的消息:

覆盖'android.webkit.WebViewClient'中不推荐使用的方法此检查报告在指定的检查范围中使用不推荐的代码的位置.

谷歌没有说这种弃用.

我想知道是否使用@SuppressWarnings("deprecation")将让我在API 19上工作直到最新的Android N Beta(及其发布时的最终版本),我无法自己测试,我从未使用过,我需要确定它有效,所以,任何人都能说出来?

android deprecated webview android-webview deprecation-warning

121
推荐指数
3
解决办法
9万
查看次数

链接应该在Android中的同一Web视图中打开

我是Android新手,我正在尝试使用此代码在webview中打开链接

WebView myWebView = (WebView) findViewById(R.id.webinfo);
    myWebView.loadUrl("http://oslobokfestival.netteam.no/artical.php?articalid=93");
    myWebView.setBackgroundResource(R.drawable.lbg);
    myWebView.setBackgroundColor(Color.TRANSPARENT);
    myWebView.getSettings().setJavaScriptEnabled(true);
Run Code Online (Sandbox Code Playgroud)

并且在这个HTML页面中包含一些链接,我希望当用户点击该链接时应该在同一个webview中打开,此时它在移动浏览器中打开,请给我适当的解决方案..谢谢.

android

50
推荐指数
3
解决办法
7万
查看次数

应用程序中的Android webview未加载

这样做的目的是应用程序本身触发网页.该应用程序运行没有故障,但从未见过该网页..xml包含网页及其下方的列表.

.xml文件读作

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_centerVertical="true"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

     <WebView  xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        />

    <ListView
        android:layout_width="fill_parent"
        android:layout_height="500dp"
        android:id="@android:id/list"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

.java中的活动读作

@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    WebView myWebView = new WebView(this);
    myWebView.getSettings().setJavaScriptEnabled(true);
    myWebView.setWebViewClient(new WebViewClient());
    myWebView.loadUrl("https://google.com");

    // Other AWS gibberish
}
Run Code Online (Sandbox Code Playgroud)

我可以将网页作为单独的应用程序启动,但这不是我想要的.

    WebView webview = new WebView(this);
    setContentView(webview);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl("http://google.ca");
Run Code Online (Sandbox Code Playgroud)

编辑:我已经向清单添加了互联网权限

<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)

一些引用我一直在使用这里,这里,这里文档没有成功

编辑2:浏览设备调试文件,并记录以下内容

10-18 22:07:59.296 7717-7717/com.amazon.mysampleapp I/WebViewFactory: Loading com.google.android.webview version 53.0.2785.124 …
Run Code Online (Sandbox Code Playgroud)

android android-webview android-studio

2
推荐指数
1
解决办法
3637
查看次数