13

这就是我用来打开具有给定URI的浏览器的方法

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

有没有办法可以用以前访问过的页面打开浏览器。或者说只是打开浏览器,以便显示最后查看的页面。

目的:

在应用程序中,用户被要求提交一个 URL,因此它有一个选项打开浏览器,以便他/她可以复制 URL,返回并提交它,而不是输入。最后一个 URL 很有可能是他/她想要提交的内容

编辑:

我可以使用从浏览器历史记录中获取上次访问的页面

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

但是在安装应用程序时,它说:

此应用程序将读取您的浏览器历史记录

一看,没有人安装。

任何更改浏览器设置的方法,例如打开继续我离开的地方??

4

5 回答 5

1

我相信您正在开发此应用程序,因此您知道何时触发打开 Web 浏览器的意图。只需将该 URL 作为字符串保存在您的共享首选项变量中,每当您打开一个新 URL 时,将其值替换为新打开的 URL。

这样,您将始终在共享首选项变量中拥有最后一个 URL 地址。现在,当您需要它时,只需从共享首选项中获取它。

您可以从此处找到有关共享首选项的更多详细信息:

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

于 2013-01-10T13:50:12.510 回答
0

此代码可能会有所帮助:

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

碰巧用户没有chrome,那么您可以获得默认浏览器的包名称并打开该意图。

于 2014-08-05T10:24:34.460 回答
0

这是代码:

// 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);
于 2014-05-13T03:26:12.260 回答
0

如果您想提交 URL,最简单的解决方案是能够将 URL 从浏览器共享到您的应用程序。浏览器有一个分享按钮。

如果您有正确的 Intent 过滤器,您的应用程序将显示在该列表中。

于 2013-01-10T13:49:44.113 回答
0

我认为保持打开状态是可以的www.google.com。如果您的用户要插入一个刚刚剪贴板的链接,他几乎不想离开他当前打开的选项卡。所以他必须创建一个新标签并插入链接。现在,如果您已经打开了这个新标签并提供给www.google.com. 如果你保持原样,他需要做的就少了一步。

于 2013-02-12T11:47:57.387 回答