如何以編程方式獲取系統中的Web瀏覽器列表?如何獲取系統中的Web瀏覽器列表
更新: 我知道該應用程序的manifest文件必須具有屬性android:scheme="http"
或android:scheme="https"
。我知道如何獲得系統中所有應用程序的列表拋出getPackageManager().getInstalledPackages(0);
。我不知道如何得到這個屬性?
如何以編程方式獲取系統中的Web瀏覽器列表?如何獲取系統中的Web瀏覽器列表
更新: 我知道該應用程序的manifest文件必須具有屬性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;
}
希望這會爲你工作。
什麼是「http://www.google.com」?主頁?如果瀏覽器有不同的主頁? – 2013-02-27 13:21:52
他只是問系統上安裝了哪些應用程序會打開'Uri.parse(「http://www.google.com」)',如果你問我,就可以非常聰明地查詢瀏覽器。 – Budius 2013-02-27 14:28:58
@Egor,Budius,對我來說工作得很好!謝謝! – 2013-02-28 06:40:40
你有什麼嘗試嗎? – Usman 2013-02-27 13:08:39
我不是100%確定,但我想你只需測試包是否存在。可能沒有辦法列出「瀏覽器」。 – Daniel 2013-02-27 13:09:07
我知道該應用程序的manifest文件必須具有屬性'android:scheme =「http」'或'android:scheme =「https」'。我知道如何讓系統中的所有應用程序列表拋出'getPackageManager()。getInstalledPackages(0);'。我不知道如何得到這個屬性? – 2013-02-27 13:18:40