簡體   English   中英

Webbrowser android應用無法正常運行

[英]Webbrowser android app doesn't work properly

我已經在我的android應用程序中添加了一個webbrowser(webview),但是當我進入一個有呼叫或導航按鈕的網站(例如google或電話簿頁面)時,它只是說無法打開tel:some number。 如果是導航按鈕,則應打開撥號程序或Google地圖。 我該如何處理? 請幫忙

碼:

package com.mysoftware.mysoftwareos.launcher;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class PeopleSearchActivity extends Activity implements OnClickListener {
WebView peoplesearchWebView;
EditText peoplesearchEditText;
Button peopleSearchButton;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.peoplesearch);

    //Import views
    peoplesearchWebView = (WebView)findViewById(R.id.peoplesearchWebView);
    peoplesearchEditText = (EditText)findViewById(R.id.peoplesearchEditText);
    peopleSearchButton = (Button)findViewById(R.id.peopleSearchButton);

    //Setup onClickListener for the buttons
    peopleSearchButton.setOnClickListener(this);

    //Setup WebView
    peoplesearchWebView.getSettings().setJavaScriptEnabled(false);
    peoplesearchWebView.getSettings().setBuiltInZoomControls(false);
    peoplesearchWebView.setWebViewClient(new myWebViewClient());
}
public void onClick(View src) {
    switch(src.getId()) {
    case R.id.peopleSearchButton:
        String searchUrl;
        searchUrl = ("http://m.gulesider.no/query?search_word=" + peoplesearchEditText.getText().toString() + "&geo_area=&what=mobwp&hpp=10");
        peoplesearchWebView.loadUrl(searchUrl);
    }
}
public class myWebViewClient extends WebViewClient {
    public boolean shouldOverrideUrlLoading(String url, WebView view) {
        view.loadUrl(url);
        return true;
    }
}
}

嘗試覆蓋WebViewClient類的shouldOverrideUrlLoading方法。 呼叫webview.setWebViewClient(customWebViewClient)或webview.setWebViewClient(新的WebViewClient {...})。 在shouldOverrideUrlLoading方法內,檢查不同類型的鏈接(tel:,mailto:,geo:等),然后手動創建意圖並將其觸發。

使您的webView設置包括所有這一切

    peoplesearchWebView.getSettings().setJavaScriptEnabled(true);
    peoplesearchWebView.getSettings().setBuiltInZoomControls(true);
    peoplesearchWebView.setWebViewClient(new myWebViewClient());
    peoplesearchWebView.setInitialScale(1);
    peoplesearchWebView.getSettings().setBuiltInZoomControls(true);
    peoplesearchWebView.getSettings().setUseWideViewPort(true); 

網站中的某些字段是Java,因此如果您在cade中禁用它們,將無法正常工作!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM