URL-адрес Android: браузер очень медленно открывается - PullRequest
0 голосов
/ 04 сентября 2018

В нашем приложении, нажав на кнопку, нам нужно открыть сайт в браузере

    Intent openBrowserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    startActivity(openBrowserIntent);

Мы обнаруживаем, что браузеру требуется много времени для открытия, возможно, из-за того, что ссылка содержит некоторые перенаправления?

Есть ли в намерении какой-либо параметр, который заставляет браузер открываться, как только мы нажимаем? В противном случае пользователь будет видеть, что ничего не происходит в течение 2-3 секунд

Ответы [ 2 ]

0 голосов
/ 04 сентября 2018

Прямое намерение для браузера Chrome

String urlString="URL_HERE";
Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse(urlString));
intent.setPackage("com.android.chrome");
try {
    context.startActivity(intent);
} catch (ActivityNotFoundException ex) {
    // Chrome browser app not installed
    intent.setPackage(null);
    context.startActivity(intent);
}

и это ваше намерение сначала выбрать браузер, а затем загрузить страницу при выборе

    Intent openBrowserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
    startActivity(openBrowserIntent);

Пожалуйста, проверьте оба случая и на разных устройствах тоже

0 голосов
/ 04 сентября 2018

Мы обнаружили, что браузеру требуется много времени, чтобы открыть, может быть, потому что ссылка содержит некоторые перенаправления?

Вы можете проверить это, попробовав URL-адрес более простого сайта, на котором нет перенаправлений, и посмотрите, как быстро он открывается. Вы также можете проверить это, заменив Intent на тот, который просто запускает обычное действие в другом приложении (например, «Настройки»). Это поможет вам сузить круг:

  • Медленно ли запускается какое-либо другое приложение? Если да, то проблема связана с устройством (свободная системная память, процессор и т. Д.)

  • Медленно ли запускается браузер? Если да, то с этим мало что можно поделать, хотя учтите, что производительность зависит от браузера, и для Android существует множество веб-браузеров

  • Медленно ли браузер отображает этот конкретный URL? Если так, исправьте сайт, чтобы он был менее медленным. Во многих случаях это будет иметь преимущества, помимо скорости, с которой ваш браузер Android показывает страницу, например, помощь пользователям, которые посещают эту страницу другими способами.

Есть ли в намерении какой-либо параметр, который заставляет браузер открываться, как только мы нажимаем?

Нет, нет EXTRA_COULD_YOU_PLEASE_OPEN_QUICKLY_KTHXBYE или подобного дополнительного. Аналогично, нет флага FLAG_ACTIVITY_AW_COME_ON_GET_MOVING_ALREADY. Вы можете попробовать заменить текущее действие на android.intent.action.VIEW_NOW_NOW_NOW, но я подозреваю, что оно просто приведет к ActivityNotFoundException. : -)

...