Подтвердить что ты не робот

Открыть браузер с последним посещенным URL-адресом

Это то, что я использую, чтобы открыть браузер с данным URI

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com/"));
startActivity(browserIntent);

Есть ли способ открыть браузер с предыдущей посещенной страницей. Или скажите, просто откройте браузер, чтобы отображалась последняя просматриваемая страница.

Цель:

В приложении пользователю предлагается отправить URL-адрес, поэтому вместо ввода текста он имеет опцию Открыть браузер, чтобы он мог скопировать URL-адрес, вернуться и отправить его. Существует хорошая вероятность, что последний URL-адрес - это то, что он/она хочет отправить

EDIT:

Я могу получить последнюю посещенную страницу из истории браузера, используя

<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" />

но при установке приложения он говорит:

Это приложение прочитает историю вашего браузера

который на виду, никто не устанавливает.

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

4b9b3361

Ответ 1

Я считаю, что вы разрабатываете это приложение, чтобы вы знали, когда стреляете в намерение открыть веб-браузер. Просто сохраните этот URL как строку в своей переменной общих предпочтений, и всякий раз, когда вы открываете новый URL, замените его значением на новый открытый URL.

Таким образом, вы всегда будете иметь последний URL-адрес в вашей общей переменной pref. Теперь, когда вам это нужно, просто получите его из общих настроек.

Подробнее об общих настройках можно узнать здесь:

http://developer.android.com/reference/android/content/SharedPreferences.html

Ответ 2

Если вы хотите отправить URL-адрес, самым простым решением является возможность совместного использования URL-адреса из браузера в ваше приложение. В браузере есть кнопка совместного доступа.

Если у вас есть правильный фильтр Intent, ваше приложение будет отображаться в этом списке.

Ответ 3

Я думаю, что это нормально, чтобы открыть его www.google.com. Если вы собираетесь вставить только буфер обмена, он вряд ли захочет оставить вкладки, которые он сейчас открыл. Поэтому он должен создать новую вкладку и вставить ссылку. Теперь, если вы уже открыли эту новую вкладку и отправились в www.google.com. На один шаг меньше он должен делать, если вы оставите его как есть.

Ответ 4

Вот код:

// create an intent to describe what app you wanna open
Intent browserIntent = new Intent("android.intent.action.VIEW", Uri.parse("http://"));

// and then get the default package name and start this app by yourself with a flag which allow it restore from history
ResolveInfo resolveInfo = getPackageManager().resolveActivity(browserIntent,PackageManager.MATCH_DEFAULT_ONLY);
Intent startIntent = getPackageManager().getLaunchIntentForPackage(resolveInfo.activityInfo.packageName);
startIntent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
startActivity(startIntent);

Ответ 5

этот код может помочь:

Intent browserIntent = getPackageManager().getLaunchIntentForPackage("com.android.chrome");
startActivity(browserIntent);

случайным пользователем нет хром, тогда вы можете получить имя пакета браузера по умолчанию и открыть это намерение.