package com.Spectrum;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.content.Intent;
public class Spectrum extends Activity {
private static final String Uri = null;
WebView mWebView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.getSettings().setJavaScriptEnabled(true); // 웹뷰에서 자바스크립트실행가능
mWebView.loadUrl("http://m.spectrum.co.kr"); // 회사 홈페이지로 이동
mWebView.setWebViewClient(new mWebViewClient()); // WebViewClient 지정
mWebView.getSettings().setDefaultTextEncodingName("EUC-KR");// 한글코딩
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
private class mWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
if (url.startsWith("tel:")) {
Intent i = new Intent(Intent.ACTION_CALL, Uri.parse ("tel:"));
startActivity(i);
return true;
}
}
}
}
코드는 이렇습니다. 근데 빨란색 부분이 자꾸 애러가 가고
if문을 통채로 날리면 tel링크에서 다이얼로 안넘어 갑니다.
구글 검색을 해봤지만 해결책이 안나오네요
도와 주세요
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CALL_PHONE" />
이 권한도 다 준상태 입니다.
공지사항 다 읽었음
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.startsWith("tel")){
Intent i = new Intent(Intent.ACTION_DIAL);
i.setData(android.net.Uri.parse(url));
startActivity(i);
}else{
view.loadUrl(url);
}
return true;
}//shouldOverrideUrlLoading 끝




요부분에서 Uri.parse ("tel:")이 조금 수상한데요~ (전화번호가 없어요!!)