Страница 7 из 8
Re: Урок 32. Пишем простой браузер
Добавлено: 03 мар 2015, 09:33
stabby
doter.ua писал(а):
Когда посылаешь интент указываешь реквест код, который и будет идентификатором
public void onClick(View v) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("
http://www.ya.ru")));
}
можно поподробнее?
Re: Урок 32. Пишем простой браузер
Добавлено: 03 май 2015, 12:40
Novgor
В чём проблема?
Код: Выделить всё
C:\Users\Novgorpc\AndroidStudioProjects\P0321_SimpleBrowser\app\build\intermediates\manifests\full\debug\AndroidManifest.xml
Error:(33) No resource identifier found for attribute 'sheme' in package 'android'
Error:Execution failed for task ':app:processDebugResources'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'D:\Android\SDK\build-tools\22.0.1\aapt.exe'' finished with non-zero exit value 1
Information:BUILD FAILED
Information:Total time: 2.303 secs
Information:2 errors
Манифест
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="by.novgor.p0321_simplebrowser"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="22" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="by.novgor.p0321_simplebrowser.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="by.novgor.p0321_simplebrowser.BrowserActivity"
android:label="Browser" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:sheme="http" />
</intent-filter>
</activity>
</application>
</manifest>
Re: Урок 32. Пишем простой браузер
Добавлено: 03 май 2015, 22:42
Foenix
<data android:sheme="http" />
что ты хотел эти сказать?
я не знаю что это значит, честно говоря, но если даже брать английский язык - тут в слове ошибка. Схема - scheme
Re: Урок 32. Пишем простой браузер
Добавлено: 04 май 2015, 10:51
Novgor
Foenix писал(а):<data android:sheme="http" />
что ты хотел эти сказать?
я не знаю что это значит, честно говоря, но если даже брать английский язык - тут в слове ошибка. Схема - scheme
исправление ошибки не помогло. Этот код был в уроке.
http://startandroid.ru/ru/uroki/vse-uro ... auzer.html
Re: Урок 32. Пишем простой браузер
Добавлено: 01 июн 2015, 13:08
Alf
На эмуляторе урок 32 работает корректно - при нажатии кнопки "web" появляется список доступных Activity, выбираю BrowserActivity, страница отображается внутри WebView, всё хорошо.
На реальном устройстве с ОС Android 4.0.4 (API 15) этот урок работает странно. Нажимаю кнопку "web", появляется список доступных Activity, выбираю всё тот же BrowserActivity, появляется новая пустая Activity (видимо с WebView), через 2-3 секунды ожидания появляется список для выбора одного из стандартных браузеров (нашего BrowserActivity в нём уже не наблюдается), выбираю например Firefox и страница открывается в Firefox-е, но не в моём созданном WebView ! В чём может быть проблема ?
<user-permission> в манифест добавлено, Интернет на планшете работает, но страница в созданном WebView всё равно не открывается, WebView остаётся пустым и выплёвывает список для выбора иного браузера.
P.S. При этом абсолютно все ранее созданные уроки (1-31) на этом реальном устройстве запускались без проблем и в точности соответствовали тому, что я наблюдал на эмуляторе.
Re: Урок 32. Пишем простой браузер
Добавлено: 01 июн 2015, 18:15
Alf
Как часто бывает, сам спросил - сам ответил ) Разобрался в чём дело. Оказывается,
http://ya.ru приведён в примере не с проста, видимо это чистый HTML безо всяких JavaScript и прочих погремушек. Т.е. страницу
http://ya.ru WebView открывает без проблем, а вот
http://yandex.ru или
http://mail.ru - уже перенаправляет на настоящие браузеры. И эмулятор тут ни при чём, это просто моё ложное впечатление. На эмуляторе тоже браузер запускается для
http://yandex.ru, но без списка выбора, т.к. на эмуляторе он один одинёшенек, а на планшете у меня браузеров как минимум 3 штуки.
Re: Урок 32. Пишем простой браузер
Добавлено: 16 июн 2015, 14:27
primumvivere
Alf писал(а):Как часто бывает, сам спросил - сам ответил ) Разобрался в чём дело. Оказывается,
http://ya.ru приведён в примере не с проста, видимо это чистый HTML безо всяких JavaScript и прочих погремушек. Т.е. страницу
http://ya.ru WebView открывает без проблем, а вот
http://yandex.ru или
http://mail.ru - уже перенаправляет на настоящие браузеры. И эмулятор тут ни при чём, это просто моё ложное впечатление. На эмуляторе тоже браузер запускается для
http://yandex.ru, но без списка выбора, т.к. на эмуляторе он один одинёшенек, а на планшете у меня браузеров как минимум 3 штуки.
Спасибо! была такая же проблема теперь все понятно=)
Re: Урок 32. Пишем простой браузер
Добавлено: 12 янв 2016, 19:13
OpenGl
Всем добра!!!
Задался вопросом, можно ли убрать строку адреса сверху? Что бы человек не подозревал что открывается сайт?
Re: Урок 32. Пишем простой браузер
Добавлено: 13 янв 2016, 20:31
OpenGl
При открытии сайта пишит что то типо для использования сайта нужен js что делать?
Re: Урок 32. Пишем простой браузер
Добавлено: 29 фев 2016, 14:03
Игорь174
ошибка, в чем проблема так и не могу понять
Код: Выделить всё
Error:Execution failed for task ':app:validateExternalOverrideSigning'.
> Keystore file C:\Users\adm\AndroidStudioProjects\SimpleBrowser\test not found for signing config 'externalOverride'.
Re: Урок 32. Пишем простой браузер
Добавлено: 23 июн 2016, 11:42
v_grechka
webView.getSettings().setJavaScriptEnabled(true);
активирует ява-скрипты. Курите
http://developer.alexanderklimov.ru/and ... rowser.php
Re: Урок 32. Пишем простой браузер
Добавлено: 23 июн 2016, 13:41
v_grechka
Может кому пригодиться масштабирование и использование setWebChromeClient
Код: Выделить всё
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setScrollbarFadingEnabled(false);
//webView.setInitialScale(70);
final Activity activity = this;
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
// Activities and WebViews measure progress with different scales.
// The progress meter will automatically disappear when we reach 100%
activity.setProgress(progress * 1000);
}
});
webView.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
}
});
Re: Урок 32. Пишем простой браузер
Добавлено: 04 июл 2016, 00:18
ГуАлСе
Здравствуйте, а можно как-то скачать html код с сайта в string?
Если да, то как?
Спасибо!
Re: Урок 32. Пишем простой браузер
Добавлено: 20 авг 2016, 14:20
Serega_Alfach
Доброго времени суток, подскажите пожалуйста, почему activity с webView(My Browser) не хочет отображать страницу Яндекса (адрес, который мы задали в первом activity "
http://www.ya.ru"), по истечению 3-4 секунд оно сворачивается и открывается стандартный браузер и показывает эту страницу Яндекса. Аctivity "My Browser" пустое на белом фоне (можно увидеть если переключится). Только когда добавить строку
Код: Выделить всё
webView.setWebViewClient(new WebViewClient());
после строки
всё корректно работает. Почему так, ведь в уроке этой строки нет, я нашёл её на форуме?
Re: Урок 32. Пишем простой браузер
Добавлено: 13 дек 2016, 15:52
v_grechka
На работе стоит wifi роутер. На нем админ настроил доступ в инет.
Если доступ в инет осуществлять через 3G тестовая прога с WebView работает,
если через роутер - пишет ошибка подключения.
Все другие андроид-приложения в т.ч. стандартніе браузеры
работают на обоих коннектах.
Читал в инете, что стандартный порт для WebView 8080.
Собственно вопрос... как переопределить порт?
Re: Урок 32. Пишем простой браузер
Добавлено: 15 мар 2017, 15:32
vital8111
Добрый день коллеги.
Такая проблема.
Сделал все как в уроке, но...
При нажатии на кнопку вызывается активити MyBrowser, а оно в свою очередь не открывает страницу, а вызывает стандартный браузер и уже он открывает страницу ya.ru.
Android 5.0(Genymotion) и Android 6.0(ASUS ZE601KL) ведут себя идентично.
В чем может быть проблема.
Спасибо.
Re: Урок 32. Пишем простой браузер
Добавлено: 20 сен 2017, 07:42
Юрий Кузьминов
Доброго дня всем! Скомпилировал приложение по вашему уроку, всё работает, могли бы вы помочь в вопросе, как переопределить класс, что бы "MyBrowser", открывал все ссылки на загружаемoй страницы, без вызова сторонних и системных браузеров? Сколько пробовал, компилятор ругается на добавление особенно на "WebWiew".
Код: Выделить всё
import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.webkit.WebView;
public class BrowserActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.browser);
WebView webView = (WebView) findViewById(R.id.webView);
Uri data = getIntent().getData();
webView.loadUrl(data.toString());
}
}
Re: Урок 32. Пишем простой браузер
Добавлено: 28 янв 2018, 12:17
SherzodBek
Доброго времени суток!
Такая проблема.
Сделал все как в уроке, но...
При нажатии на кнопку вызывается активити MyBrowser, а оно в свою очередь не открывает страницу, а вызывает стандартный браузер и уже он открывает страницу ya.ru.
В чем может быть проблема.
Android 7.1.2, API 25
За ранее спасибо!
На Девайсе стандартный браузер это Chrom, Сhrom-О приложении-Открывать по умолчанию-Настройки по умолчанию не установлены!
Re: Урок 32. Пишем простой браузер
Добавлено: 28 янв 2018, 13:00
SherzodBek
Все я сам исправил! Забыл кодить <category android:name="android.intent.category.DEFAULT"/> на Манифесте!
<activity android:name=".Browser">
<intent-filter tools:ignore="AppLinkUrlError">
<action android:name="android.intent.action.VIEW"/>
<data android:scheme="http"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
Re: Урок 32. Пишем простой браузер
Добавлено: 04 мар 2018, 10:35
mkey
Добрый день!
Вопрос: где находится этот настройщик манифеста, скрины которого в уроке? Никак не могу найти, может в новой версии студии его нет?