Как открыть активность Dialer из веб-клиента с нажатым номером?

71
8

Я использую веб-представление в своем приложении. теперь, когда пользователь нажимает на номер телефона, он показывает net :: ERR_UNKNOWN_URL_SCHEME. Но если я использую хром. он приносит приложение для набора номера с этим номером телефона.

Мне нужно то же самое в моем приложении. Когда в веб-браузере кликается номер телефона, необходимо открыть его с помощью этого номера телефона.

Вот мой метод shouldOverrideUrlLoading для веб-просмотра. Я вижу, что здесь есть ответ . Но я довольно новичок в android и java, и я не мог довести эту работу до сих пор.

 public boolean shouldOverrideUrlLoading(WebView view, String url){
progressBar.setVisibility(view.VISIBLE);
view.loadUrl(url);
return true;
}

спросил(а) 2016-08-13T17:44:00+03:00 4 года, 2 месяца назад
1
Решение
58

Это должно работать. мы должны переопределить shouldOverrideUrlLoading метод класса WebView. и проверьте, содержит ли url tel:xxxx Затем создайте намерение для дозвона и вызовите дозвонщик. и мы можем вызывать любое приложение, которое мы хотим, например, приложение gmail, если его ссылка mailto:

здесь есть метод.

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
if(url.contains("tel:"))
{
Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse(url));
startActivity(intent);
return true;
}else {
progressBar.setVisibility(view.VISIBLE);
view.loadUrl(url);
return true;
}
}

ответил(а) 2016-08-14T10:41:00+03:00 4 года, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема