如何获取系统中的网络浏览器列表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取系统中的网络浏览器列表相关的知识,希望对你有一定的参考价值。
我如何以编程方式获取系统中的网络浏览器列表?
更新:我知道该应用程序的清单文件必须具有属性android:scheme="http"
或android:scheme="https"
。我知道如何获取系统中所有应用程序的列表getPackageManager().getInstalledPackages( 0);
。我不知道如何获得此属性?
答案
例如,您可以检查系统中的哪些Activities
可以处理特定的Intent
,如下所示:
PackageManager packageManager = context.getPackageManager();
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.google.com"));
List<ResolveInfo> list = packageManager.queryIntentActivities(intent,
PackageManager.MATCH_DEFAULT_ONLY);
for (ResolveInfo info : list)
String name = info.name;
希望这对您有用。
另一答案
您可以使用程序包管理器以及打开浏览器的意图来获取设备中所有浏览器的列表。要获取应用程序的程序包名称,可以使用it.activityInfo.packageName
,其中it
是列表项。
val browserIntent = Intent(Intent.ACTION_VIEW, Uri.parse("http://www.aurl.com"))
val browsersList = packageManager.queryIntentActivities(browserIntent,
PackageManager.MATCH_ALL)
browsersList.forEach
val packageName = it.activityInfo.packageName
以上是关于如何获取系统中的网络浏览器列表的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Java 获取连接在同一网络(子网)中的 IP 列表