Альтернатива веб-просмотру Android
Кто-нибудь знает альтернативу компоненту веб-просмотра Android? По некоторым причинам его функциональность недостаточна для меня: мне нужно уловить каждый отдельный запрос на какой-либо URL-адрес, когда я просматриваю страницу wml (wap). Во всяком случае, мне нужно иметь возможность делать вещи, для которых веб-просмотр Android не предназначен.
Я подумал: "Эй, давай играть с исходным кодом, я уверен, что веб-просмотры используют apache.org librairies для доступа к Интернету".
О, мальчик, я ошибся. Webviews использует собственный код и тот, где я застрял.
Так что мне было интересно, знает ли кто-нибудь о другом представлении веб-браузера, в чистом java, который будет открытым исходным кодом и приятным. Это не проблема, если она медленная, я показываю некоторые основные wap-страницы...
Спасибо заранее.
Ответы
Ответ 1
Вы можете расширить функциональность WebView, используя setWebViewClient и setWebChromeClient.
WebView.setWebViewClient(new MyWebViewClient());
WebView.setWebChromeClient(new WebChromeClient() {..}
Вы можете обрабатывать каждый запрос, отправленный/полученный от WebView, путем переопределения следующих методов:
public boolean shouldOverrideUrlLoading(WebView view, String url) {..}
public void onPageStarted(WebView view, String url, Bitmap favicon) {..}
public void onPageFinished(WebView view, String url) {..}
Ответ 2
Проект crosswalk: https://crosswalk-project.org/ может быть тем, что вам нужно. Но будьте осторожны, есть места, где он отличается от веб-просмотра. В некотором смысле лучше, в некотором роде хуже. Например, он поддерживает WebGL (хороший), но в настоящее время фон не может быть прозрачным (плохим). Действительно хорошая новость, кажется, очень активно поддерживается, запустив собственную Jira для отслеживания и исправления, и Intel, похоже, очень вовлечен.
Ответ 3
Попробуйте посмотреть, как была запрограммирована Opera Mini.
Но я думаю, вы должны запрограммировать его, если хотите другого. Но я был бы удивлен, если бы он имел хорошую производительность.
Ответ 4
Try this:
goButton4.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
Uri uri = Uri.parse("http://tory.com/");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
});