package com.example.t2noob;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.Toast;
public class Activity extends Activity
{
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("tel:")) {
Intent intent = new Intent(Intent.ACTION_DIAL,
Uri.parse(url));
startActivity(intent);
}else if(url.startsWith("http:") || url.startsWith("https:")) {
view.loadUrl(url);
}
return true;
}
WebView mWebView;
public void onCreate(Bundle paramBundle)
{
super.onCreate(paramBundle);
requestWindowFeature(1);
getWindow().setFlags(1024, 1024);
setContentView(2130903040);
final Button button = (Button) findViewById(R.id.Home);//BUTTONS ON TOP OF WEBVIEW. HOME
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mWebView.loadUrl("test.com");
}
});
final Button button1 = (Button) findViewById(R.id.Back);//BUTTONS ON TOP OF WEBVIEW. BACK
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mWebView.goBack();
}
});
this.mWebView = ((WebView)findViewById(2131034112));
this.mWebView.getSettings().setJavaScriptEnabled(true);
this.mWebView.setWebViewClient(new WebViewClient());
this.mWebView.getSettings().setJavaScriptEnabled(true);
this.mWebView.setVerticalScrollBarEnabled(true);
this.mWebView.setHorizontalScrollBarEnabled(true);
this.mWebView.loadUrl("test.com");
this.mWebView.getSettings().setLoadWithOverviewMode(true);
}
public boolean onKeyDown(int paramInt, KeyEvent paramKeyEvent)//LETS USER PUSH BACK BUTTON ON PHONE TO GO BACK A PAGE IN WEBVIEW.
{
boolean bool;
if ((paramInt != 4) || (!this.mWebView.canGoBack()))
{
bool = super.onKeyDown(paramInt, paramKeyEvent);
}
else
{
this.mWebView.goBack();
bool = true;
}
return bool;
}
}
ので、私は 、オープンを読み違えていなかった場合 をshoudOverrideUrlLoading機能がWebViewの中でそれらを開くためにWebリンクの両方をキャッチする必要があります上記のソースコードを持っていますアンドロイドダイヤラで電話番号を入力します。上記のコードで 私はwebviewで開くためのリンクを得ることができますが、それはダイヤラーで数字を開くことはありません。 このコードをプログラムに追加するとします。オープンダイヤラとのWebViewで開くWebリンク[エラー]アンドロイド
private static final WebViewClient Webview = null;
this.mWebView.setWebViewClient(Webview);
ダイヤラーを開くことはできますが、Webリンクは開いていませんが、実際にはデフォルトのブラウザで開きます。 だから私はそれを取得する方法のいくつかの助けがダイヤルやwebviewのWebリンクで電話番号を開くだけでなく、どちらかを持っています。
これはwebviewで開かれているリンクを修正するはずですが、webviewと電話番号、smsで開いているWebリンクをそれぞれダイヤラとメッセージングアプリケーションを開きたいと思っています。あなたのコードでは、webviewのリンクを開くだけですが、数字がクリックされたときにダイヤラーを開くことはありません(実際にあなたのコードを持っていましたが、数字をクリックしたときにダイヤラーを開くために私は何か間違っているかどうかを知りたがっていました。電話番号とWebリンクの両方を取得していないためです。それはちょうどどちらか他をします。 – user1251268
if(url.contains( "tel:")){//サブストリングを作成し、ダイヤルするインテントを呼び出し、elseではview.loadUrl(url)を使用します。 } とった? – nithinreddy
私は機能がすべて正常に機能するように修正した後、私が自分の機能を設定する方法と関係がありました。ご協力いただきありがとうございます。 – user1251268