Не устанавливается собственный webclient клиент
Добавлено: 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, "=========Страница загрузилась============");
}
}
Метод 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, "=========Страница загрузилась============");
}
}