2013-02-27 26 views
3

如何以編程方式獲取系統中的Web瀏覽器列表?如何獲取系統中的Web瀏覽器列表

更新: 我知道該應用程序的manifest文件必須具有屬性android:scheme="http"android:scheme="https"。我知道如何獲得系統中所有應用程序的列表拋出getPackageManager().getInstalledPackages(0);。我不知道如何得到這個屬性?

+1

你有什麼嘗試嗎? – Usman 2013-02-27 13:08:39

+1

我不是100%確定,但我想你只需測試包是否存在。可能沒有辦法列出「瀏覽器」。 – Daniel 2013-02-27 13:09:07

+0

我知道該應用程序的manifest文件必須具有屬性'android:scheme =「http」'或'android:scheme =「https」'。我知道如何讓系統中的所有應用程序列表拋出'getPackageManager()。getInstalledPackages(0);'。我不知道如何得到這個屬性? – 2013-02-27 13:18:40

回答

12

您可以檢查,例如,什麼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; 
      } 

希望這會爲你工作。

+0

什麼是「http://www.google.com」?主頁?如果瀏覽器有不同的主頁? – 2013-02-27 13:21:52

+1

他只是問系統上安裝了哪些應用程序會打開'Uri.parse(「http://www.google.com」)',如果你問我,就可以非常聰明地查詢瀏覽器。 – Budius 2013-02-27 14:28:58

+0

@Egor,Budius,對我來說工作得很好!謝謝! – 2013-02-28 06:40:40

相關問題