Не устанавливается собственный webclient клиент

Ответить
marlis
Сообщения: 4
Зарегистрирован: 08 апр 2015, 14:23

Не устанавливается собственный webclient клиент

Сообщение marlis » 08 апр 2015, 14:30

Задача открывать в своем браузере webView по умолчанию некоторую ссылку. Однако андроид предлагает выбор станадратный браузер и мой браузер.
Метод shouldOverrideUrlLoading переопределен и возвращает true.

ВЫЗОВ ОСУЩЕСТВЛЯЕТСЯ СЛЕДУЮЩИМ ОБРАЗОМ
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("facebook.com")));


СОДЕРЖИМОЕ BROWSERACTIVITY

public class BrowserActivity extends Activity {
private static final String TAG = "myLogs";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.browser);
WebView webView = (WebView) findViewById(R.id.webView);
HelloWebViewClient HWVC=new HelloWebViewClient();
webView.setWebViewClient(HWVC);
if (HWVC.shouldOverrideUrlLoading(webView,getIntent().getData().toString())) {Log.d(TAG,"Правда");} else {Log.d(TAG,"ЛОЖЬ");}
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setBuiltInZoomControls(true);
Uri data = getIntent().getData();
webView.loadUrl(data.toString());

}

}


СОДЕРЖИМОЕ HelloWebViewClient

class HelloWebViewClient extends WebViewClient
{
private static final String TAG = "myLogs";
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}


public void onPageFinished (WebView view, String url)
{
Log.d(TAG, "=========Страница загрузилась============");
}
}

ANdriy123456
Сообщения: 138
Зарегистрирован: 27 июн 2014, 01:41

Re: Не устанавливается собственный webclient клиент

Сообщение ANdriy123456 » 08 апр 2015, 14:47

если вы будете так вызывать, то у вас всегда будет предложен диалог выбора.
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("facebook.com")));
у вас здесь не указаное конкретное активити, поетому андроид показывает список всех программ, которые могут открыть html


вам нужно запускать конкретное активити (BrowserActivity ) и передавать в интерте юрл, а в BrowserActivity забирать его с интента и отображать в WebView.

marlis
Сообщения: 4
Зарегистрирован: 08 апр 2015, 14:23

Re: Не устанавливается собственный webclient клиент

Сообщение marlis » 09 апр 2015, 07:04

Необходимо было вызвать активити, в котором был вебвью и в нем передать адрес ссылки, а получилось напрямую вызвал браузер.
Спасибо! Заработало. Глупо вышло )
ANdriy123456 писал(а):если вы будете так вызывать, то у вас всегда будет предложен диалог выбора.
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("facebook.com")));
у вас здесь не указаное конкретное активити, поетому андроид показывает список всех программ, которые могут открыть html


вам нужно запускать конкретное активити (BrowserActivity ) и передавать в интерте юрл, а в BrowserActivity забирать его с интента и отображать в WebView.

Ответить