Я искал ответ на этот вопрос, который могу понять последние пару дней. После того, как я попробовал все фрагменты кода онлайн, которые я видел, у меня все еще есть трудности. Я очень новичок в Android SDK и Java, на самом деле это мой первый шанс написать приложение для Android. Поэтому мой вопрос заключается в следующем: почему я продолжаю получать очень известную ошибку «Невозможно отобразить страницу» при нажатии на ссылку mailto или tel?
Вот мой код:
package com.mine.mobile;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MineActivity extends Activity {
/** Called when the activity is first created. */
/**@Override */
WebView webview;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webview = (WebView) findViewById(R.id.webview);
webview.setWebViewClient(new WebViewClient());
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://my.mobilesite.com");
}
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("tel:")) {
startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse(url)));
return true;
} else if (url.startsWith("mailto:")) {
url = url.replaceFirst("mailto:", "");
url = url.trim();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("plain/text").putExtra(Intent.EXTRA_EMAIL, new String[]{url});
startActivity(i);
return true;
} else if (url.startsWith("geo:")) {
Intent searchAddress = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(searchAddress);
}
else {
view.loadUrl(url);
return true;
}
return true;
}
}