Android 如何获取接受http:as-URI的安卓安装应用程序列表?

Android 如何获取接受http:as-URI的安卓安装应用程序列表?,android,android-intent,android-package-managers,Android,Android Intent,Android Package Managers,我想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.pars

我想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
    }
stringurl=”http://www.example.com"; // 你可以在这里提供任何url
意向i=新意向(意向.行动\视图);
i、 setData(Uri.parse(url));
List resolveInfoList=getPackageManager()
.查询活动(i,0);
for(ResolveInfo ResolveInfo:resolveInfoList){
//您将从'resolveInfo'获得所需的所有信息`
//例如:对于包名-resolveInfo.activityInfo.packageName
}

您所说的“接受http”是什么意思?你是说它们是浏览器吗?如果是这样,你不是说接受http,而是说它可以查看html。你是说它有一个http://本地url吗?完全是别的吗?不一定,也许有些应用程序可能只是做一些url书签,很多可能性。浏览器应该是一个子集。谢谢,因为您甚至不能定义“接受http”的含义,所以我们无法回答这个问题。但这可能是不可能的,因为你似乎对此有一个非常广泛的定义。谢谢。我会尝试一下,如果我想做得更一般一些,比如我想在邮件中列出uri:我不想硬编码一些url或邮件地址,谢谢?