Android打算打开用户首选的浏览器

dev*_*r_7 13 browser android android-intent

我一直在试图找出如何创建一个意图,打开用户首选的浏览器而不指定URL.我知道如何通过提供这样的特定URL来打开它:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(android.net.Uri.parse("http://www.google.com"));
context.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

我不想打开浏览器到任何页面,特别是设置主页或用户最后的页面.我已经考虑过在应用程序中查找主页集,但是你无法使用默认的浏览器应用程序,因为它是私有的.有人知道这样做的方法吗?

小智 9

我是这样做的:

String packageName = "com.android.browser"; 
String className = "com.android.browser.BrowserActivity"; 
Intent internetIntent = new Intent(Intent.ACTION_VIEW);
internetIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
internetIntent.setClassName(packageName, className); 
mHomeActivity.startActivity(internetIntent);
Run Code Online (Sandbox Code Playgroud)

如果您没有设置主页,它将打开一个空白页面(至少在Android 2.1中).


kum*_*ded 5

            Uri uri = Uri.parse("www.google.com");
            Intent intent = new Intent(Intent.ACTION_VIEW,uri);
            // Create and start the chooser
            Intent chooser = Intent.createChooser(intent, "Open with");
            startActivity(chooser);
Run Code Online (Sandbox Code Playgroud)

此代码创建打开用户指定浏览器的意图.

  • URl应该具有"http://",否则意图将无法识别 (3认同)

Mat*_*y F 1

用户指定的主页 URL 将存储在他们所使用的浏览器应用程序的首选项中。对于应用程序的 Android“沙盒”模型,除非应用程序具有允许访问的内容提供商,否则您将无法访问此内容。此外,浏览器应用程序之间的内容提供程序会有所不同,您将很难覆盖现有的内容提供程序。

您是否尝试过打开一个试图通过使用 JavaScript 更新用户主页 URL 的网页?