如何获取接受 http: 作为 URI 的 android 个已安装应用程序的列表?

How to get a list of android installed apps which accept http: as URI?

我想 packagemanager 是起点,但它似乎相当复杂。 我想在列表中列出接受 http: 的支持应用程序集及其启动器图标,单击它将启动该应用程序。 谢谢

以下示例将展示如何获取可以打开 HTTP URL 的应用程序列表。

   String url = "http://www.example.com"; // you can give any url here
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url));
    List<ResolveInfo> resolveInfoList = getPackageManager()
    .queryIntentActivities(i, 0);

    for (ResolveInfo resolveInfo : resolveInfoList) {
     //you will get all information you need from `resolveInfo`
     //eg:for package name - resolveInfo.activityInfo.packageName
    }