如何在webview中打开外部链接

时间:2018-01-27 08:16:37

标签: java android webview

我已经创建了我的简单浏览器应用程序,当我点击whatsapp中的链接时,安卓会询问应该打开哪个浏览器,我选择了我的浏览器,但它没有打开该链接,而只是去了主屏幕。我该怎么办?

我在清单中添加了这个:        

   <category android:name="android.intent.category.DEFAULT" />
   <data android:scheme="http" />
   <data android:scheme="https" />

我想我需要添加以下代码:  Uri url = getIntent().getData(); webview1.loadUrl(url.toString());

但是我不知道在哪里粘贴它,我在onCreate上试过但是失败了。

2 个答案:

答案 0 :(得分:1)

您应该在OnResume()方法中加载从中获取意图的URL。 请看下面的代码。

<input type="text" name="myfirstinput" id="firstinput" />

//using name
$("input[name=myfirstinput]").val("demo");

//using id 
$("#firstinput").val("demo");

清单中的intent-filters如下

private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    webView = findViewById(R.id.external_url_content);
    webView.getSettings().setJavaScriptEnabled(true);
}

@Override
protected void onResume() {
    super.onResume();
    Uri url = getIntent().getData();
    if (url != null) {
        Log.d("TAG", "URL Foud");
        Log.d("TAG", "Url is :" + url);
        webView.loadUrl(url.toString());
    }
}

您可以在here

上找到有关生命周期活动的更多信息

答案 1 :(得分:0)

在布局中使用WebView

<WebView
    android:id="@+id/external_url_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

在您的活动中

WebView browser;

您可以在onCreate中使用此功能或根据您的需要使用

browser = (WebView) findViewById(R.id.external_url_content);
browser.getSettings().setJavaScriptEnabled(true);
String url_path="https://stackoverflow.com/questions/48473930/how-to-open-external-links-in-webviewsid"
browser.loadUrl(url_path);